diff options
author | Chad Versace <[email protected]> | 2015-11-13 09:27:06 -0800 |
---|---|---|
committer | Chad Versace <[email protected]> | 2015-11-13 10:31:37 -0800 |
commit | b1bb270590ae969b86a3f838d83e06466f345723 (patch) | |
tree | 324fa91776a769f3515a8c2c5ecc68b3d547b110 /src | |
parent | 477383e9ac2fd43f8b2176c13da7116f5d20b959 (diff) |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/vulkan/Makefile.am | 1 | ||||
-rw-r--r-- | src/vulkan/isl.c | 33 | ||||
-rw-r--r-- | src/vulkan/isl.h | 14 |
3 files changed, 48 insertions, 0 deletions
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 <assert.h> + +#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 <stdbool.h> #include <stdint.h> #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 |