zink: use updated tokens from vk.xml

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>
This commit is contained in:
Eric Engestrom 2022-07-01 13:05:06 +01:00 committed by Marge Bot
parent c8bd10852c
commit 0ab33ec6d4
10 changed files with 33 additions and 33 deletions

View File

@ -2953,11 +2953,11 @@ pipeline_dst_stage(VkImageLayout layout)
VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT |\ VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT |\
VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT |\ VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT |\
VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR |\ VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR |\
VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV |\ VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR |\
VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT |\ VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT |\
VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV |\ VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV |\
VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV |\ VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR |\
VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV) VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR)
bool bool

View File

@ -132,7 +132,7 @@ struct zink_descriptor_data {
struct zink_descriptor_layout_key *push_layout_keys[2]; //gfx, compute struct zink_descriptor_layout_key *push_layout_keys[2]; //gfx, compute
struct zink_descriptor_pool *push_pool[2]; //gfx, compute struct zink_descriptor_pool *push_pool[2]; //gfx, compute
struct zink_descriptor_layout *push_dsl[2]; //gfx, compute struct zink_descriptor_layout *push_dsl[2]; //gfx, compute
VkDescriptorUpdateTemplateKHR push_template[2]; //gfx, compute VkDescriptorUpdateTemplate push_template[2]; //gfx, compute
uint8_t last_push_usage[2]; uint8_t last_push_usage[2];
bool push_valid[2]; bool push_valid[2];
uint32_t push_state[2]; uint32_t push_state[2];
@ -142,7 +142,7 @@ struct zink_descriptor_data {
VkDescriptorPool dummy_pool; VkDescriptorPool dummy_pool;
struct zink_descriptor_layout *dummy_dsl; struct zink_descriptor_layout *dummy_dsl;
VkDescriptorUpdateTemplateKHR dummy_template; VkDescriptorUpdateTemplate dummy_template;
VkDescriptorSet dummy_set; VkDescriptorSet dummy_set;
VkDescriptorSetLayout bindless_layout; VkDescriptorSetLayout bindless_layout;
@ -163,7 +163,7 @@ struct zink_program_descriptor_data {
uint8_t real_binding_usage; uint8_t real_binding_usage;
struct zink_descriptor_pool_key *pool_key[ZINK_DESCRIPTOR_TYPES]; //push set doesn't need one struct zink_descriptor_pool_key *pool_key[ZINK_DESCRIPTOR_TYPES]; //push set doesn't need one
struct zink_descriptor_layout *layouts[ZINK_DESCRIPTOR_TYPES + 1]; struct zink_descriptor_layout *layouts[ZINK_DESCRIPTOR_TYPES + 1];
VkDescriptorUpdateTemplateKHR templates[ZINK_DESCRIPTOR_TYPES + 1]; VkDescriptorUpdateTemplate templates[ZINK_DESCRIPTOR_TYPES + 1];
}; };
struct zink_batch_descriptor_data { struct zink_batch_descriptor_data {

View File

@ -342,7 +342,7 @@ zink_descriptor_program_init_lazy(struct zink_context *ctx, struct zink_program
template[i].pipelineBindPoint = pg->is_compute ? VK_PIPELINE_BIND_POINT_COMPUTE : VK_PIPELINE_BIND_POINT_GRAPHICS; template[i].pipelineBindPoint = pg->is_compute ? VK_PIPELINE_BIND_POINT_COMPUTE : VK_PIPELINE_BIND_POINT_GRAPHICS;
template[i].pipelineLayout = pg->layout; template[i].pipelineLayout = pg->layout;
template[i].set = i; template[i].set = i;
VkDescriptorUpdateTemplateKHR t; VkDescriptorUpdateTemplate t;
if (VKSCR(CreateDescriptorUpdateTemplate)(screen->dev, &template[i], NULL, &t) != VK_SUCCESS) if (VKSCR(CreateDescriptorUpdateTemplate)(screen->dev, &template[i], NULL, &t) != VK_SUCCESS)
return false; return false;
pg->dd->templates[i] = t; pg->dd->templates[i] = t;

View File

@ -95,8 +95,8 @@ static const VkFormat formats[PIPE_FORMAT_COUNT] = {
// other color formats // other color formats
[PIPE_FORMAT_A4B4G4R4_UNORM] = VK_FORMAT_R4G4B4A4_UNORM_PACK16, [PIPE_FORMAT_A4B4G4R4_UNORM] = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
[PIPE_FORMAT_A4R4G4B4_UNORM] = VK_FORMAT_B4G4R4A4_UNORM_PACK16, [PIPE_FORMAT_A4R4G4B4_UNORM] = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
[PIPE_FORMAT_B4G4R4A4_UNORM] = VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT, [PIPE_FORMAT_B4G4R4A4_UNORM] = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
[PIPE_FORMAT_R4G4B4A4_UNORM] = VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT, [PIPE_FORMAT_R4G4B4A4_UNORM] = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
[PIPE_FORMAT_B5G6R5_UNORM] = VK_FORMAT_R5G6B5_UNORM_PACK16, [PIPE_FORMAT_B5G6R5_UNORM] = VK_FORMAT_R5G6B5_UNORM_PACK16,
[PIPE_FORMAT_R5G6B5_UNORM] = VK_FORMAT_B5G6R5_UNORM_PACK16, [PIPE_FORMAT_R5G6B5_UNORM] = VK_FORMAT_B5G6R5_UNORM_PACK16,

View File

@ -76,7 +76,7 @@ struct kopper_displaytarget
struct util_queue_fence present_fence; struct util_queue_fence present_fence;
VkSurfaceCapabilitiesKHR caps; VkSurfaceCapabilitiesKHR caps;
VkImageFormatListCreateInfoKHR format_list; VkImageFormatListCreateInfo format_list;
enum kopper_type type; enum kopper_type type;
bool is_kill; bool is_kill;
VkPresentModeKHR present_mode; VkPresentModeKHR present_mode;

View File

@ -224,20 +224,20 @@ zink_create_gfx_pipeline(struct zink_screen *screen,
}; };
unsigned state_count = 4; unsigned state_count = 4;
if (screen->info.have_EXT_extended_dynamic_state) { if (screen->info.have_EXT_extended_dynamic_state) {
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_BOUNDS; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_BOUNDS;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_STENCIL_OP_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_STENCIL_OP;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_FRONT_FACE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_FRONT_FACE;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_CULL_MODE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_CULL_MODE;
if (state->sample_locations_enabled) if (state->sample_locations_enabled)
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT;
} else { } else {
@ -248,11 +248,11 @@ zink_create_gfx_pipeline(struct zink_screen *screen,
if (screen->info.have_EXT_vertex_input_dynamic_state) if (screen->info.have_EXT_vertex_input_dynamic_state)
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_VERTEX_INPUT_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_VERTEX_INPUT_EXT;
else if (screen->info.have_EXT_extended_dynamic_state && state->uses_dynamic_stride) else if (screen->info.have_EXT_extended_dynamic_state && state->uses_dynamic_stride)
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE;
} }
if (screen->info.have_EXT_extended_dynamic_state2) { if (screen->info.have_EXT_extended_dynamic_state2) {
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE;
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE;
if (screen->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints) if (screen->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints)
dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT; dynamicStateEnables[state_count++] = VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT;
} }

View File

@ -757,10 +757,10 @@ zink_destroy_compute_program(struct zink_context *ctx,
static unsigned static unsigned
get_pipeline_idx(bool have_EXT_extended_dynamic_state, enum pipe_prim_type mode, VkPrimitiveTopology vkmode) get_pipeline_idx(bool have_EXT_extended_dynamic_state, enum pipe_prim_type mode, VkPrimitiveTopology vkmode)
{ {
/* VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT specifies that the topology state in /* VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY specifies that the topology state in
* VkPipelineInputAssemblyStateCreateInfo only specifies the topology class, * VkPipelineInputAssemblyStateCreateInfo only specifies the topology class,
* and the specific topology order and adjacency must be set dynamically * and the specific topology order and adjacency must be set dynamically
* with vkCmdSetPrimitiveTopologyEXT before any drawing commands. * with vkCmdSetPrimitiveTopology before any drawing commands.
*/ */
if (have_EXT_extended_dynamic_state) { if (have_EXT_extended_dynamic_state) {
if (mode == PIPE_PRIM_PATCHES) if (mode == PIPE_PRIM_PATCHES)

View File

@ -1135,7 +1135,7 @@ resource_create(struct pipe_screen *pscreen,
if (zink_kopper_has_srgb(cdt)) if (zink_kopper_has_srgb(cdt))
res->obj->vkflags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; res->obj->vkflags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
if (cdt->swapchain->scci.flags == VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR) if (cdt->swapchain->scci.flags == VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR)
res->obj->vkflags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR; res->obj->vkflags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | VK_IMAGE_CREATE_EXTENDED_USAGE_BIT;
res->obj->vkusage = cdt->swapchain->scci.imageUsage; res->obj->vkusage = cdt->swapchain->scci.imageUsage;
res->base.b.bind |= PIPE_BIND_DISPLAY_TARGET; res->base.b.bind |= PIPE_BIND_DISPLAY_TARGET;
res->optimal_tiling = true; res->optimal_tiling = true;

View File

@ -99,7 +99,7 @@ struct zink_resource_object {
VkImageUsageFlags vkusage; VkImageUsageFlags vkusage;
uint64_t modifier; uint64_t modifier;
VkImageAspectFlags modifier_aspect; VkImageAspectFlags modifier_aspect;
VkSamplerYcbcrConversionKHR sampler_conversion; VkSamplerYcbcrConversion sampler_conversion;
unsigned plane_offsets[3]; unsigned plane_offsets[3];
unsigned plane_strides[3]; unsigned plane_strides[3];
unsigned plane_count; unsigned plane_count;

View File

@ -255,7 +255,7 @@ cache_get_job(void *data, void *gdata, int thread_index)
VkPipelineCacheCreateInfo pcci; VkPipelineCacheCreateInfo pcci;
pcci.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO; pcci.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
pcci.pNext = NULL; pcci.pNext = NULL;
pcci.flags = screen->info.have_EXT_pipeline_creation_cache_control ? VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT : 0; pcci.flags = screen->info.have_EXT_pipeline_creation_cache_control ? VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT : 0;
pcci.initialDataSize = 0; pcci.initialDataSize = 0;
pcci.pInitialData = NULL; pcci.pInitialData = NULL;
@ -914,8 +914,8 @@ zink_get_shader_param(struct pipe_screen *pscreen,
/* intel drivers report fewer components, but it's a value that's compatible /* intel drivers report fewer components, but it's a value that's compatible
* with what we need for GL, so we can still force a conformant value here * with what we need for GL, so we can still force a conformant value here
*/ */
if (screen->info.driver_props.driverID == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR || if (screen->info.driver_props.driverID == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA ||
screen->info.driver_props.driverID == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR) screen->info.driver_props.driverID == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS)
return 32; return 32;
max = screen->info.props.limits.maxFragmentInputComponents / 4; max = screen->info.props.limits.maxFragmentInputComponents / 4;
break; break;
@ -1522,9 +1522,9 @@ zink_get_format(struct zink_screen *screen, enum pipe_format format)
return VK_FORMAT_D32_SFLOAT_S8_UINT; return VK_FORMAT_D32_SFLOAT_S8_UINT;
} }
if ((ret == VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT && if ((ret == VK_FORMAT_A4B4G4R4_UNORM_PACK16 &&
!screen->info.format_4444_feats.formatA4B4G4R4) || !screen->info.format_4444_feats.formatA4B4G4R4) ||
(ret == VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT && (ret == VK_FORMAT_A4R4G4B4_UNORM_PACK16 &&
!screen->info.format_4444_feats.formatA4R4G4B4)) !screen->info.format_4444_feats.formatA4R4G4B4))
return VK_FORMAT_UNDEFINED; return VK_FORMAT_UNDEFINED;