diff --git a/src/panfrost/ci/panfrost-g52-fails.txt b/src/panfrost/ci/panfrost-g52-fails.txt index b4144a1e849..92607dad88c 100644 --- a/src/panfrost/ci/panfrost-g52-fails.txt +++ b/src/panfrost/ci/panfrost-g52-fails.txt @@ -2691,15 +2691,6 @@ dEQP-VK.draw.renderpass.indexed_draw.draw_instanced_indexed_triangle_list_offset dEQP-VK.draw.renderpass.indexed_draw.draw_instanced_indexed_triangle_list_with_alloc_offset,Fail dEQP-VK.draw.renderpass.indexed_draw.draw_instanced_indexed_triangle_strip_with_alloc_offset,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.structured.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.structured.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.structured.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.structured.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.separate.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.separate.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.separate.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.separate.with_sample_decoration.4_samples,Fail - dEQP-VK.draw.renderpass.inverted_depth_ranges.nodepthclamp_deltazero,Fail dEQP-VK.memory.pipeline_barrier.host_write_index_buffer.1024,Fail @@ -2711,9 +2702,6 @@ dEQP-VK.memory.pipeline_barrier.host_write_index_buffer.8192,Fail dEQP-VK.spirv_assembly.instruction.compute.mul_extended.unsigned_8bit,Crash dEQP-VK.spirv_assembly.instruction.compute.mul_extended.signed_8bit,Crash -dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.no_perspective,Fail -dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.no_perspective,Fail - # New with vk_clear dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.whole_copy_before_resolving_no_cab.4_bit,Fail dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.copy_with_regions_before_resolving.4_bit,Fail @@ -2755,26 +2743,11 @@ dEQP-VK.wsi.wayland.swapchain.simulate_oom.min_image_count,Crash dEQP-VK.wsi.wayland.swapchain.simulate_oom.pre_transform,Crash dEQP-VK.wsi.wayland.swapchain.simulate_oom.present_mode,Crash -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.4_samples,Fail - # New with sampleRateShading dEQP-VK.pipeline.monolithic.multisample_shader_builtin.write_sample_mask.1_samples,Fail dEQP-VK.pipeline.fast_linked_library.multisample_shader_builtin.write_sample_mask.1_samples,Fail dEQP-VK.pipeline.pipeline_library.multisample_shader_builtin.write_sample_mask.1_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.no_offset_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.no_offset_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_max_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_max_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_min_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_min_4_samples,Fail dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.2_cmdbuffers_resuming,Fail dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.2_secondary_2_primary_cmdbuffers_resuming,Fail @@ -2788,23 +2761,6 @@ dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.contents_secondary_primary_cmdb dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil,Fail dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.single_cmdbuffer_resuming,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.4_samples,Fail - dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.indexed_draw.draw_indexed_triangle_list_offset_minus_one_with_alloc_offset,Fail dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.indexed_draw.draw_indexed_triangle_list_offset_minus_one_with_bind_offset_with_alloc_offset,Fail dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.indexed_draw.draw_indexed_triangle_list_offset_negative_large_with_alloc_offset,Fail @@ -2881,25 +2837,6 @@ dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.indexed_draw.draw_instanced_inde dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.indexed_draw.draw_instanced_indexed_triangle_strip_with_bind_offset_with_alloc_offset,Fail dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.inverted_depth_ranges.nodepthclamp_deltazero,Fail -dEQP-VK.draw.renderpass.linear_interpolation.no_offset_1_sample,Fail -dEQP-VK.draw.renderpass.linear_interpolation.no_offset_4_samples,Fail -dEQP-VK.draw.renderpass.linear_interpolation.offset_max_1_sample,Fail -dEQP-VK.draw.renderpass.linear_interpolation.offset_max_4_samples,Fail -dEQP-VK.draw.renderpass.linear_interpolation.offset_min_1_sample,Fail -dEQP-VK.draw.renderpass.linear_interpolation.offset_min_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.no_offset_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.no_offset_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_max_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_max_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.no_offset_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.no_offset_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_max_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_max_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_min_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_min_4_samples,Fail - dEQP-VK.rasterization.rasterization_order_attachment_access.depth.samples_1.multi_draw_barriers,Crash dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_1.multi_draw_barriers,Crash diff --git a/src/panfrost/ci/panfrost-g610-fails.txt b/src/panfrost/ci/panfrost-g610-fails.txt index 75325bb9e82..f92b25b8cc0 100644 --- a/src/panfrost/ci/panfrost-g610-fails.txt +++ b/src/panfrost/ci/panfrost-g610-fails.txt @@ -271,70 +271,9 @@ dEQP-VK.api.device_init.create_device_global_priority_khr.basic,Fail dEQP-VK.api.device_init.create_device_global_priority_query.basic,Fail dEQP-VK.api.device_init.create_device_global_priority_query_khr.basic,Fail -dEQP-VK.draw.renderpass.linear_interpolation.no_offset_1_sample,Fail -dEQP-VK.draw.renderpass.linear_interpolation.no_offset_4_samples,Fail -dEQP-VK.draw.renderpass.linear_interpolation.offset_max_1_sample,Fail -dEQP-VK.draw.renderpass.linear_interpolation.offset_max_4_samples,Fail -dEQP-VK.draw.renderpass.linear_interpolation.offset_min_1_sample,Fail -dEQP-VK.draw.renderpass.linear_interpolation.offset_min_4_samples,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.separate.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.separate.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.separate.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.separate.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.structured.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.structured.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.structured.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.renderpass.multiple_interpolation.structured.with_sample_decoration.4_samples,Fail - dEQP-VK.renderpass.dedicated_allocation.attachment_allocation.input_output.63,Fail dEQP-VK.renderpass2.dedicated_allocation.attachment_allocation.input_output.63,Fail -dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.no_perspective,Fail -dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.no_perspective,Fail - -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.no_offset_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.no_offset_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_max_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_max_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_min_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.offset_min_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.no_offset_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.no_offset_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_max_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_max_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_min_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.linear_interpolation.offset_min_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.partial_secondary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.no_offset_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.no_offset_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_max_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_max_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_min_4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.separate.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.separate.with_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.structured.no_sample_decoration.4_samples,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.1_sample,Fail -dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.multiple_interpolation.structured.with_sample_decoration.4_samples,Fail - dEQP-VK.glsl.limits.near_max.fragment_input.components_123,Fail dEQP-VK.glsl.limits.near_max.fragment_input.components_124,Fail diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c index 2662d193e56..f99c85be9e1 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c @@ -231,12 +231,19 @@ prepare_sysvals(struct panvk_cmd_buffer *cmdbuf, const struct vk_rasterization_state *rs = &cmdbuf->vk.dynamic_graphics_state.rs; struct pan_fb_info *fbinfo = &cmdbuf->state.gfx.render.fb.info; + const struct panvk_shader *fs = cmdbuf->state.gfx.fs.shader; if (gfx_state_dirty(cmdbuf, RENDER_STATE)) { sysvals->fs.multisampled = fbinfo->nr_samples > 1; gfx_state_set_dirty(cmdbuf, PUSH_UNIFORMS); } + uint32_t noperspective_varyings = fs ? fs->info.varyings.noperspective : 0; + if (sysvals->vs.noperspective_varyings != noperspective_varyings) { + sysvals->vs.noperspective_varyings = noperspective_varyings; + cmdbuf->state.gfx.push_uniforms = 0; + } + if (dyn_gfx_state_dirty(cmdbuf, CB_BLEND_CONSTANTS)) { for (unsigned i = 0; i < ARRAY_SIZE(cb->blend_constants); i++) sysvals->blend.constants[i] = diff --git a/src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c b/src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c index e82c2eef847..a0fa2a37956 100644 --- a/src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c +++ b/src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c @@ -99,14 +99,17 @@ panvk_cmd_prepare_draw_sysvals(struct panvk_cmd_buffer *cmdbuf, struct pan_fb_info *fbinfo = &cmdbuf->state.gfx.render.fb.info; unsigned base_vertex = draw->index_size ? draw->vertex_offset : 0; + uint32_t noperspective_varyings = fs ? fs->info.varyings.noperspective : 0; if (sysvals->vs.first_vertex != draw->offset_start || sysvals->vs.base_vertex != base_vertex || sysvals->vs.base_instance != draw->first_instance || sysvals->layer_id != draw->layer_id || - sysvals->fs.multisampled != (fbinfo->nr_samples > 1)) { + sysvals->fs.multisampled != (fbinfo->nr_samples > 1) || + sysvals->vs.noperspective_varyings != noperspective_varyings) { sysvals->vs.first_vertex = draw->offset_start; sysvals->vs.base_vertex = base_vertex; sysvals->vs.base_instance = draw->first_instance; + sysvals->vs.noperspective_varyings = noperspective_varyings; sysvals->layer_id = draw->layer_id; sysvals->fs.multisampled = fbinfo->nr_samples > 1; diff --git a/src/panfrost/vulkan/panvk_shader.h b/src/panfrost/vulkan/panvk_shader.h index 237634148d9..c66cb060674 100644 --- a/src/panfrost/vulkan/panvk_shader.h +++ b/src/panfrost/vulkan/panvk_shader.h @@ -54,6 +54,7 @@ struct panvk_graphics_sysvals { uint32_t first_vertex; uint32_t base_vertex; uint32_t base_instance; + uint32_t noperspective_varyings; } vs; struct { diff --git a/src/panfrost/vulkan/panvk_vX_shader.c b/src/panfrost/vulkan/panvk_vX_shader.c index 8ed5884efd2..d009225b863 100644 --- a/src/panfrost/vulkan/panvk_vX_shader.c +++ b/src/panfrost/vulkan/panvk_vX_shader.c @@ -120,6 +120,14 @@ panvk_lower_sysvals(nir_builder *b, nir_instr *instr, void *data) val = load_sysval_from_push_const(b, SYSVAL(graphics, fs.multisampled), bit_size, num_comps); break; + case nir_intrinsic_load_noperspective_varyings_pan: + /* TODO: lower this to a constant with monolithic pipelines */ + /* TODO: use a VS epilog specialized on constant noperspective_varyings + * with VK_EXT_graphics_pipeline_libraries and VK_EXT_shader_object */ + assert(b->shader->info.stage == MESA_SHADER_VERTEX); + val = load_sysval_from_push_const(b, SYSVAL(graphics, vs.noperspective_varyings), + bit_size, num_comps); + break; #if PAN_ARCH <= 7 case nir_intrinsic_load_layer_id: