panvk: Enable robustBufferAccess
It should already work for UBOs. This should do everything we need for SSBOs. Not sure about vertex and index buffers but we can deal with those later. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276>
This commit is contained in:
committed by
Marge Bot
parent
6899cd2b6e
commit
d9f9955f9e
@@ -33,6 +33,7 @@ include = [
|
||||
"dEQP-VK.pipeline.stencil.*",
|
||||
"dEQP-VK.rasterization.interpolation.*",
|
||||
"dEQP-VK.rasterization.primitive_size.*",
|
||||
"dEQP-VK.robustness.buffer_access.*",
|
||||
"dEQP-VK.spirv_assembly.instruction.compute.opquantize.*",
|
||||
"dEQP-VK.spirv_assembly.instruction.compute.shader_default_output.*",
|
||||
"dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.*",
|
||||
|
||||
@@ -475,6 +475,7 @@ panvk_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
||||
VkPhysicalDeviceFeatures2 *pFeatures)
|
||||
{
|
||||
pFeatures->features = (VkPhysicalDeviceFeatures) {
|
||||
.robustBufferAccess = true,
|
||||
.fullDrawIndexUint32 = true,
|
||||
.independentBlend = true,
|
||||
.logicOp = true,
|
||||
|
||||
@@ -486,7 +486,9 @@ panvk_per_arch(nir_lower_descriptors)(nir_shader *nir,
|
||||
.layout = layout,
|
||||
.desc_addr_format = nir_address_format_32bit_index_offset,
|
||||
.ubo_addr_format = nir_address_format_32bit_index_offset,
|
||||
.ssbo_addr_format = nir_address_format_64bit_global_32bit_offset,
|
||||
.ssbo_addr_format = dev->vk.enabled_features.robustBufferAccess ?
|
||||
nir_address_format_64bit_bounded_global :
|
||||
nir_address_format_64bit_global_32bit_offset,
|
||||
};
|
||||
|
||||
bool progress = nir_shader_instructions_pass(nir, lower_descriptors_instr,
|
||||
|
||||
@@ -342,7 +342,9 @@ panvk_per_arch(shader_create)(struct panvk_device *dev,
|
||||
const struct spirv_to_nir_options spirv_options = {
|
||||
.caps = { false },
|
||||
.ubo_addr_format = nir_address_format_32bit_index_offset,
|
||||
.ssbo_addr_format = nir_address_format_64bit_global_32bit_offset,
|
||||
.ssbo_addr_format = dev->vk.enabled_features.robustBufferAccess ?
|
||||
nir_address_format_64bit_bounded_global :
|
||||
nir_address_format_64bit_global_32bit_offset,
|
||||
};
|
||||
|
||||
nir_shader *nir;
|
||||
|
||||
Reference in New Issue
Block a user