From: Chad Versace Date: Fri, 13 Nov 2015 17:27:06 +0000 (-0800) Subject: isl: Add struct isl_device X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b1bb270590ae969b86a3f838d83e06466f345723;p=mesa.git isl: Add struct isl_device The struct is incomplete (it contains only the gen). And it's nowhere used yet. It will be used later for surface layout calculations. --- diff --git a/src/vulkan/Makefile.am b/src/vulkan/Makefile.am index 9f8c5e34063..6e4de53b2d0 100644 --- a/src/vulkan/Makefile.am +++ b/src/vulkan/Makefile.am @@ -84,6 +84,7 @@ VULKAN_SOURCES = \ gen7_state.c \ gen7_cmd_buffer.c \ gen7_pipeline.c \ + isl.c \ isl_format_layout.c BUILT_SOURCES = \ diff --git a/src/vulkan/isl.c b/src/vulkan/isl.c new file mode 100644 index 00000000000..b4de5653677 --- /dev/null +++ b/src/vulkan/isl.c @@ -0,0 +1,33 @@ +/* + * Copyright 2015 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +#include "isl.h" + +void +isl_device_init(struct isl_device *dev, uint8_t gen10x) +{ + assert(gen10x % 5 == 0); + dev->gen = gen10x; +} diff --git a/src/vulkan/isl.h b/src/vulkan/isl.h index b170c215b35..7680fa9ef9a 100644 --- a/src/vulkan/isl.h +++ b/src/vulkan/isl.h @@ -28,6 +28,7 @@ #pragma once +#include #include #ifdef __cplusplus @@ -305,6 +306,16 @@ enum isl_txc { ISL_TXC_ETC2, }; +struct isl_device { + /** + * @brief Hardware generation, 10x. + * + * For example, gen is 70 for Ivybridge and Baytrail; gen is 75 for + * Haswell. + */ + uint8_t gen; +}; + struct isl_channel_layout { enum isl_base_type type; uint8_t bits; /**< Size in bits */ @@ -333,6 +344,9 @@ struct isl_format_layout { enum isl_txc txc; }; +void +isl_device_init(struct isl_device *dev, uint8_t gen10x); + extern const struct isl_format_layout isl_format_layouts[]; #ifdef __cplusplus