Mesa (main): radv: Use MESA_VULKAN_SHADER_STAGES to make room for mesh/task.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Nov 4 13:56:34 UTC 2021
Module: Mesa
Branch: main
Commit: b59614619b6ed06eb2f48ab4c1999f1f50882f56
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b59614619b6ed06eb2f48ab4c1999f1f50882f56
Author: Timur Kristóf <timur.kristof at gmail.com>
Date: Tue Oct 19 17:37:55 2021 +0200
radv: Use MESA_VULKAN_SHADER_STAGES to make room for mesh/task.
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13440>
---
src/amd/common/ac_rgp.h | 2 +-
src/amd/vulkan/layers/radv_sqtt_layer.c | 4 +--
src/amd/vulkan/radv_cmd_buffer.c | 8 ++---
src/amd/vulkan/radv_pipeline.c | 63 +++++++++++++++++----------------
src/amd/vulkan/radv_pipeline_cache.c | 26 +++++++-------
src/amd/vulkan/radv_private.h | 6 ++--
6 files changed, 56 insertions(+), 53 deletions(-)
diff --git a/src/amd/common/ac_rgp.h b/src/amd/common/ac_rgp.h
index 694aade80db..51799ce061c 100644
--- a/src/amd/common/ac_rgp.h
+++ b/src/amd/common/ac_rgp.h
@@ -62,7 +62,7 @@ struct rgp_shader_data {
struct rgp_code_object_record {
uint32_t shader_stages_mask;
- struct rgp_shader_data shader_data[MESA_SHADER_STAGES];
+ struct rgp_shader_data shader_data[MESA_VULKAN_SHADER_STAGES];
uint32_t num_shaders_combined; /* count combined shaders as one count */
uint64_t pipeline_hash[2];
struct list_head list;
diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c
index 9917d829164..05ea8b831f8 100644
--- a/src/amd/vulkan/layers/radv_sqtt_layer.c
+++ b/src/amd/vulkan/layers/radv_sqtt_layer.c
@@ -869,7 +869,7 @@ radv_add_code_object(struct radv_device *device, struct radv_pipeline *pipeline)
record->pipeline_hash[0] = pipeline->pipeline_hash;
record->pipeline_hash[1] = pipeline->pipeline_hash;
- for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) {
+ for (unsigned i = 0; i < MESA_VULKAN_SHADER_STAGES; i++) {
struct radv_shader *shader = pipeline->shaders[i];
uint8_t *code;
uint64_t va;
@@ -922,7 +922,7 @@ radv_register_pipeline(struct radv_device *device, struct radv_pipeline *pipelin
return VK_ERROR_OUT_OF_HOST_MEMORY;
/* Find the lowest shader BO VA. */
- for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) {
+ for (unsigned i = 0; i < MESA_VULKAN_SHADER_STAGES; i++) {
struct radv_shader *shader = pipeline->shaders[i];
uint64_t va;
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index fef41c4d745..e6e209f79a0 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -3141,7 +3141,7 @@ radv_flush_descriptors(struct radv_cmd_buffer *cmd_buffer, VkShaderStageFlags st
radv_flush_indirect_descriptor_sets(cmd_buffer, pipeline, bind_point);
ASSERTED unsigned cdw_max =
- radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, MAX_SETS * MESA_SHADER_STAGES * 4);
+ radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, MAX_SETS * MESA_VULKAN_SHADER_STAGES * 4);
if (pipeline) {
if (stages & VK_SHADER_STAGE_COMPUTE_BIT) {
@@ -3236,7 +3236,7 @@ radv_flush_constants(struct radv_cmd_buffer *cmd_buffer, VkShaderStageFlags stag
va += offset;
ASSERTED unsigned cdw_max =
- radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, MESA_SHADER_STAGES * 4);
+ radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, MESA_VULKAN_SHADER_STAGES * 4);
prev_shader = NULL;
radv_foreach_stage(stage, internal_stages)
@@ -3457,7 +3457,7 @@ radv_emit_streamout_buffers(struct radv_cmd_buffer *cmd_buffer, uint64_t va)
struct radv_userdata_info *loc;
uint32_t base_reg;
- for (unsigned stage = 0; stage < MESA_SHADER_STAGES; ++stage) {
+ for (unsigned stage = 0; stage < MESA_VULKAN_SHADER_STAGES; ++stage) {
if (!radv_get_shader(pipeline, stage))
continue;
@@ -5905,7 +5905,7 @@ static void
radv_emit_view_index(struct radv_cmd_buffer *cmd_buffer, unsigned index)
{
struct radv_pipeline *pipeline = cmd_buffer->state.pipeline;
- for (unsigned stage = 0; stage < MESA_SHADER_STAGES; ++stage) {
+ for (unsigned stage = 0; stage < MESA_VULKAN_SHADER_STAGES; ++stage) {
if (!radv_get_shader(pipeline, stage))
continue;
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index 375a734ba70..e6994cc8539 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -183,7 +183,7 @@ radv_pipeline_destroy(struct radv_device *device, struct radv_pipeline *pipeline
free(pipeline->library.stages);
}
- for (unsigned i = 0; i < MESA_SHADER_STAGES; ++i)
+ for (unsigned i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i)
if (pipeline->shaders[i])
radv_shader_destroy(device, pipeline->shaders[i]);
@@ -242,7 +242,7 @@ radv_pipeline_init_scratch(const struct radv_device *device, struct radv_pipelin
unsigned scratch_bytes_per_wave = 0;
unsigned max_waves = 0;
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (pipeline->shaders[i] && pipeline->shaders[i]->config.scratch_bytes_per_wave) {
unsigned max_stage_waves = device->scratch_waves;
@@ -2332,7 +2332,7 @@ radv_link_shaders(struct radv_pipeline *pipeline,
nir_shader **shaders,
bool optimize_conservatively)
{
- nir_shader *ordered_shaders[MESA_SHADER_STAGES];
+ nir_shader *ordered_shaders[MESA_VULKAN_SHADER_STAGES];
int shader_count = 0;
if (shaders[MESA_SHADER_FRAGMENT]) {
@@ -2503,7 +2503,7 @@ radv_link_shaders(struct radv_pipeline *pipeline,
static void
radv_set_driver_locations(struct radv_pipeline *pipeline, nir_shader **shaders,
- struct radv_shader_info infos[MESA_SHADER_STAGES])
+ struct radv_shader_info infos[MESA_VULKAN_SHADER_STAGES])
{
if (shaders[MESA_SHADER_FRAGMENT]) {
nir_foreach_shader_out_variable(var, shaders[MESA_SHADER_FRAGMENT])
@@ -2833,7 +2833,7 @@ radv_fill_shader_info(struct radv_pipeline *pipeline,
unsigned active_stages = 0;
unsigned filled_stages = 0;
- for (int i = 0; i < MESA_SHADER_STAGES; i++) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; i++) {
if (nir[i])
active_stages |= (1 << i);
}
@@ -3007,7 +3007,7 @@ radv_fill_shader_info(struct radv_pipeline *pipeline,
infos[MESA_SHADER_COMPUTE].cs.subgroup_size = subgroup_size;
}
- for (int i = 0; i < MESA_SHADER_STAGES; i++) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; i++) {
if (nir[i]) {
infos[i].wave_size = radv_get_wave_size(pipeline->device, pStages[i], i, &infos[i]);
infos[i].ballot_bit_size =
@@ -3364,13 +3364,13 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
VkPipelineCreationFeedbackEXT **stage_feedbacks)
{
struct vk_shader_module fs_m = {0};
- struct vk_shader_module *modules[MESA_SHADER_STAGES] = {
+ struct vk_shader_module *modules[MESA_VULKAN_SHADER_STAGES] = {
0,
};
- nir_shader *nir[MESA_SHADER_STAGES] = {0};
- struct radv_shader_binary *binaries[MESA_SHADER_STAGES] = {NULL};
+ nir_shader *nir[MESA_VULKAN_SHADER_STAGES] = {0};
+ struct radv_shader_binary *binaries[MESA_VULKAN_SHADER_STAGES] = {NULL};
struct radv_shader_binary *gs_copy_binary = NULL;
- struct radv_shader_info infos[MESA_SHADER_STAGES] = {0};
+ struct radv_shader_info infos[MESA_VULKAN_SHADER_STAGES] = {0};
unsigned char hash[20];
bool keep_executable_info =
(flags & VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR) ||
@@ -3384,7 +3384,7 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
radv_start_feedback(pipeline_feedback);
- for (unsigned i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (unsigned i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (pStages[i]) {
modules[i] = vk_shader_module_from_handle(pStages[i]->module);
if (modules[i]->nir)
@@ -3431,7 +3431,7 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
modules[MESA_SHADER_FRAGMENT] = &fs_m;
}
- for (unsigned i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (unsigned i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
const VkPipelineShaderStageCreateInfo *stage = pStages[i];
if (!modules[i])
@@ -3458,7 +3458,7 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
radv_link_shaders(pipeline, pipeline_key, nir, optimize_conservatively);
radv_set_driver_locations(pipeline, nir, infos);
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (nir[i]) {
radv_start_feedback(stage_feedbacks[i]);
radv_optimize_nir(device, nir[i], optimize_conservatively, false);
@@ -3505,7 +3505,7 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
radv_determine_ngg_settings(pipeline, pipeline_key, infos, nir);
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (nir[i]) {
radv_start_feedback(stage_feedbacks[i]);
@@ -3603,7 +3603,7 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
}
}
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (radv_can_dump_shader(device, modules[i], false))
nir_print_shader(nir[i], stderr);
}
@@ -3673,7 +3673,7 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
modules[pre_stage] = NULL;
}
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (modules[i] && !pipeline->shaders[i]) {
radv_start_feedback(stage_feedbacks[i]);
@@ -3704,7 +3704,7 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_pipeline_layout
}
free(gs_copy_binary);
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
free(binaries[i]);
if (nir[i]) {
ralloc_free(nir[i]);
@@ -5478,13 +5478,16 @@ radv_pipeline_init_shader_stages_state(struct radv_pipeline *pipeline)
{
struct radv_device *device = pipeline->device;
- for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) {
- pipeline->user_data_0[i] = radv_pipeline_stage_to_user_data_0(
- pipeline, i, device->physical_device->rad_info.chip_class);
+ for (unsigned i = 0; i < MESA_VULKAN_SHADER_STAGES; i++) {
+ bool shader_exists = !!pipeline->shaders[i];
+ if (shader_exists || i < MESA_SHADER_COMPUTE) {
+ /* We need this info for some stages even when the shader doesn't exist. */
+ pipeline->user_data_0[i] = radv_pipeline_stage_to_user_data_0(
+ pipeline, i, device->physical_device->rad_info.chip_class);
- if (pipeline->shaders[i]) {
- pipeline->need_indirect_descriptor_sets |=
- radv_shader_need_indirect_descriptor_sets(pipeline, i);
+ if (shader_exists)
+ pipeline->need_indirect_descriptor_sets |=
+ radv_shader_need_indirect_descriptor_sets(pipeline, i);
}
}
@@ -5522,10 +5525,10 @@ radv_pipeline_init(struct radv_pipeline *pipeline, struct radv_device *device,
VkPipelineCreationFeedbackEXT *pipeline_feedback =
creation_feedback ? creation_feedback->pPipelineCreationFeedback : NULL;
- const VkPipelineShaderStageCreateInfo *pStages[MESA_SHADER_STAGES] = {
+ const VkPipelineShaderStageCreateInfo *pStages[MESA_VULKAN_SHADER_STAGES] = {
0,
};
- VkPipelineCreationFeedbackEXT *stage_feedbacks[MESA_SHADER_STAGES] = {0};
+ VkPipelineCreationFeedbackEXT *stage_feedbacks[MESA_VULKAN_SHADER_STAGES] = {0};
for (uint32_t i = 0; i < pCreateInfo->stageCount; i++) {
gl_shader_stage stage = ffs(pCreateInfo->pStages[i].stage) - 1;
pStages[stage] = &pCreateInfo->pStages[i];
@@ -5773,10 +5776,10 @@ radv_compute_pipeline_create(VkDevice _device, VkPipelineCache _cache,
RADV_FROM_HANDLE(radv_device, device, _device);
RADV_FROM_HANDLE(radv_pipeline_cache, cache, _cache);
RADV_FROM_HANDLE(radv_pipeline_layout, pipeline_layout, pCreateInfo->layout);
- const VkPipelineShaderStageCreateInfo *pStages[MESA_SHADER_STAGES] = {
+ const VkPipelineShaderStageCreateInfo *pStages[MESA_VULKAN_SHADER_STAGES] = {
0,
};
- VkPipelineCreationFeedbackEXT *stage_feedbacks[MESA_SHADER_STAGES] = {0};
+ VkPipelineCreationFeedbackEXT *stage_feedbacks[MESA_VULKAN_SHADER_STAGES] = {0};
struct radv_pipeline *pipeline;
VkResult result;
@@ -5862,7 +5865,7 @@ static uint32_t
radv_get_executable_count(const struct radv_pipeline *pipeline)
{
uint32_t ret = 0;
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (!pipeline->shaders[i])
continue;
@@ -5879,7 +5882,7 @@ static struct radv_shader *
radv_get_shader_from_executable_index(const struct radv_pipeline *pipeline, int index,
gl_shader_stage *stage)
{
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (!pipeline->shaders[i])
continue;
if (!index) {
@@ -5927,7 +5930,7 @@ radv_GetPipelineExecutablePropertiesKHR(VkDevice _device, const VkPipelineInfoKH
}
const uint32_t count = MIN2(total_count, *pExecutableCount);
- for (unsigned i = 0, executable_idx = 0; i < MESA_SHADER_STAGES && executable_idx < count; ++i) {
+ for (unsigned i = 0, executable_idx = 0; i < MESA_VULKAN_SHADER_STAGES && executable_idx < count; ++i) {
if (!pipeline->shaders[i])
continue;
pProperties[executable_idx].stages = mesa_to_vk_shader_stage(i);
diff --git a/src/amd/vulkan/radv_pipeline_cache.c b/src/amd/vulkan/radv_pipeline_cache.c
index bfcbe4c3c8b..b6622c0f628 100644
--- a/src/amd/vulkan/radv_pipeline_cache.c
+++ b/src/amd/vulkan/radv_pipeline_cache.c
@@ -36,9 +36,9 @@ struct cache_entry {
unsigned char sha1[20];
uint32_t sha1_dw[5];
};
- uint32_t binary_sizes[MESA_SHADER_STAGES];
+ uint32_t binary_sizes[MESA_VULKAN_SHADER_STAGES];
uint32_t num_stack_sizes;
- struct radv_shader *shaders[MESA_SHADER_STAGES];
+ struct radv_shader *shaders[MESA_VULKAN_SHADER_STAGES];
char code[0];
};
@@ -90,7 +90,7 @@ radv_pipeline_cache_finish(struct radv_pipeline_cache *cache)
{
for (unsigned i = 0; i < cache->table_size; ++i)
if (cache->hash_table[i]) {
- for (int j = 0; j < MESA_SHADER_STAGES; ++j) {
+ for (int j = 0; j < MESA_VULKAN_SHADER_STAGES; ++j) {
if (cache->hash_table[i]->shaders[j])
radv_shader_destroy(cache->device, cache->hash_table[i]->shaders[j]);
}
@@ -106,7 +106,7 @@ static uint32_t
entry_size(struct cache_entry *entry)
{
size_t ret = sizeof(*entry);
- for (int i = 0; i < MESA_SHADER_STAGES; ++i)
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i)
if (entry->binary_sizes[i])
ret += entry->binary_sizes[i];
ret = align(ret, alignof(struct cache_entry));
@@ -126,7 +126,7 @@ radv_hash_shaders(unsigned char *hash, const VkPipelineShaderStageCreateInfo **s
if (layout)
_mesa_sha1_update(&ctx, layout->sha1, sizeof(layout->sha1));
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (stages[i]) {
RADV_FROM_HANDLE(vk_shader_module, module, stages[i]->module);
const VkSpecializationInfo *spec_info = stages[i]->pSpecializationInfo;
@@ -347,7 +347,7 @@ radv_create_shaders_from_pipeline_cache(
}
char *p = entry->code;
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (!entry->shaders[i] && entry->binary_sizes[i]) {
struct radv_shader_binary *binary = calloc(1, entry->binary_sizes[i]);
memcpy(binary, p, entry->binary_sizes[i]);
@@ -373,7 +373,7 @@ radv_create_shaders_from_pipeline_cache(
if (device->instance->debug_flags & RADV_DEBUG_NO_MEMORY_CACHE && cache == device->mem_cache)
vk_free(&cache->alloc, entry);
else {
- for (int i = 0; i < MESA_SHADER_STAGES; ++i)
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i)
if (entry->shaders[i])
p_atomic_inc(&entry->shaders[i]->ref_count);
}
@@ -395,7 +395,7 @@ radv_pipeline_cache_insert_shaders(struct radv_device *device, struct radv_pipel
radv_pipeline_cache_lock(cache);
struct cache_entry *entry = radv_pipeline_cache_search_unlocked(cache, sha1);
if (entry) {
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (entry->shaders[i]) {
radv_shader_destroy(cache->device, shaders[i]);
shaders[i] = entry->shaders[i];
@@ -418,7 +418,7 @@ radv_pipeline_cache_insert_shaders(struct radv_device *device, struct radv_pipel
}
size_t size = sizeof(*entry) + sizeof(*stack_sizes) * num_stack_sizes;
- for (int i = 0; i < MESA_SHADER_STAGES; ++i)
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i)
if (shaders[i])
size += binaries[i]->total_size;
const size_t size_without_align = size;
@@ -435,7 +435,7 @@ radv_pipeline_cache_insert_shaders(struct radv_device *device, struct radv_pipel
char *p = entry->code;
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (!shaders[i])
continue;
@@ -479,7 +479,7 @@ radv_pipeline_cache_insert_shaders(struct radv_device *device, struct radv_pipel
/* We delay setting the shader so we have reproducible disk cache
* items.
*/
- for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) {
if (!shaders[i])
continue;
@@ -527,7 +527,7 @@ radv_pipeline_cache_load(struct radv_pipeline_cache *cache, const void *data, si
dest_entry = vk_alloc(&cache->alloc, size_of_entry, 8, VK_SYSTEM_ALLOCATION_SCOPE_CACHE);
if (dest_entry) {
memcpy(dest_entry, entry, size_of_entry);
- for (int i = 0; i < MESA_SHADER_STAGES; ++i)
+ for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i)
dest_entry->shaders[i] = NULL;
radv_pipeline_cache_add_entry(cache, dest_entry);
}
@@ -624,7 +624,7 @@ radv_GetPipelineCacheData(VkDevice _device, VkPipelineCache _cache, size_t *pDat
}
memcpy(p, entry, size_of_entry);
- for (int j = 0; j < MESA_SHADER_STAGES; ++j)
+ for (int j = 0; j < MESA_VULKAN_SHADER_STAGES; ++j)
((struct cache_entry *)p)->shaders[j] = NULL;
p = (char *)p + size_of_entry;
}
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index f85ac5f91c8..7654da11070 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -1701,7 +1701,7 @@ uint32_t radv_get_hash_flags(const struct radv_device *device, bool stats);
bool radv_rt_pipeline_has_dynamic_stack_size(const VkRayTracingPipelineCreateInfoKHR *pCreateInfo);
-#define RADV_STAGE_MASK ((1 << MESA_SHADER_STAGES) - 1)
+#define RADV_STAGE_MASK ((1 << MESA_VULKAN_SHADER_STAGES) - 1)
#define radv_foreach_stage(stage, stage_bits) \
for (gl_shader_stage stage, __tmp = (gl_shader_stage)((stage_bits)&RADV_STAGE_MASK); \
@@ -1768,7 +1768,7 @@ struct radv_pipeline {
struct radv_dynamic_state dynamic_state;
bool need_indirect_descriptor_sets;
- struct radv_shader *shaders[MESA_SHADER_STAGES];
+ struct radv_shader *shaders[MESA_VULKAN_SHADER_STAGES];
struct radv_shader *gs_copy_shader;
VkShaderStageFlags active_stages;
@@ -1789,7 +1789,7 @@ struct radv_pipeline {
uint32_t vb_desc_usage_mask;
uint32_t vb_desc_alloc_size;
- uint32_t user_data_0[MESA_SHADER_STAGES];
+ uint32_t user_data_0[MESA_VULKAN_SHADER_STAGES];
union {
struct {
struct radv_multisample_state ms;
More information about the mesa-commit
mailing list