mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
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:
parent
6899cd2b6e
commit
d9f9955f9e
4 changed files with 8 additions and 2 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue