diff --git a/src/gallium/drivers/zink/zink_bo.c b/src/gallium/drivers/zink/zink_bo.c index a511f5bdd67..15086d74b43 100644 --- a/src/gallium/drivers/zink/zink_bo.c +++ b/src/gallium/drivers/zink/zink_bo.c @@ -965,9 +965,9 @@ zink_bo_commit(struct zink_screen *screen, struct zink_resource *res, unsigned l unsigned nheight = DIV_ROUND_UP(box->height, gheight); unsigned ndepth = DIV_ROUND_UP(box->depth, gdepth); VkExtent3D lastBlockExtent = { - (box->width % gwidth) ? box->width % gwidth : gwidth, - (box->height % gheight) ? box->height % gheight : gheight, - (box->depth % gdepth) ? box->depth % gdepth : gdepth + (box->width % gwidth) ? box->width % gwidth : gwidth, + (box->height % gheight) ? box->height % gheight : gheight, + (box->depth % gdepth) ? box->depth % gdepth : gdepth }; #define NUM_BATCHED_BINDS 50 VkSparseImageMemoryBind ibind[NUM_BATCHED_BINDS]; diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py index 4c6973fda7d..7fd3fdcb86b 100644 --- a/src/gallium/drivers/zink/zink_device_info.py +++ b/src/gallium/drivers/zink/zink_device_info.py @@ -60,39 +60,54 @@ import sys # - guard: adds a #if defined(`extension_name`)/#endif guard around the code generated for this Extension. EXTENSIONS = [ Extension("VK_KHR_maintenance1", - required=True), + required=True), Extension("VK_KHR_maintenance2"), Extension("VK_KHR_maintenance3"), - Extension("VK_KHR_maintenance4", alias="maint4", features=True), + Extension("VK_KHR_maintenance4", + alias="maint4", + features=True), Extension("VK_KHR_external_memory"), Extension("VK_KHR_external_memory_fd"), Extension("VK_KHR_vulkan_memory_model"), - Extension("VK_KHR_pipeline_executable_properties", alias="pipestats", features=True), + Extension("VK_KHR_pipeline_executable_properties", + alias="pipestats", + features=True), Extension("VK_KHR_external_semaphore_fd"), - Extension("VK_KHR_create_renderpass2", required=True), + Extension("VK_KHR_create_renderpass2", + required=True), Extension("VK_KHR_synchronization2", alias="sync2", features=True), Extension("VK_KHR_external_memory_win32"), Extension("VK_KHR_external_semaphore_win32"), Extension("VK_EXT_external_memory_dma_buf"), - Extension("VK_KHR_buffer_device_address", alias="bda", features=True), + Extension("VK_KHR_buffer_device_address", + alias="bda", + features=True), Extension("VK_EXT_queue_family_foreign"), Extension("VK_KHR_swapchain_mutable_format"), Extension("VK_EXT_provoking_vertex", - alias="pv", - features=True, - properties=True, - conditions=["$feats.provokingVertexLast"]), + alias="pv", + features=True, + properties=True, + conditions=["$feats.provokingVertexLast"]), Extension("VK_EXT_shader_viewport_index_layer"), Extension("VK_KHR_get_memory_requirements2"), Extension("VK_EXT_post_depth_coverage"), - Extension("VK_EXT_depth_clip_control", alias="clip_control", features=True), - Extension("VK_EXT_depth_clamp_zero_one", alias="clamp_01", features=True), + Extension("VK_EXT_depth_clip_control", + alias="clip_control", + features=True), + Extension("VK_EXT_depth_clamp_zero_one", + alias="clamp_01", + features=True), Extension("VK_EXT_shader_subgroup_ballot"), Extension("VK_EXT_shader_subgroup_vote"), - Extension("VK_EXT_shader_atomic_float", alias="atomic_float", features=True), - Extension("VK_KHR_shader_atomic_int64", alias="atomic_int", features=True), + Extension("VK_EXT_shader_atomic_float", + alias="atomic_float", + features=True), + Extension("VK_KHR_shader_atomic_int64", + alias="atomic_int", + features=True), Extension("VK_KHR_8bit_storage", alias="storage_8bit", features=True, @@ -105,57 +120,57 @@ EXTENSIONS = [ alias="view2d", features=True), Extension("VK_KHR_driver_properties", - alias="driver", - properties=True), + alias="driver", + properties=True), Extension("VK_EXT_memory_budget"), Extension("VK_KHR_draw_indirect_count"), Extension("VK_EXT_attachment_feedback_loop_layout", alias="feedback_loop", features=True), Extension("VK_EXT_fragment_shader_interlock", - alias="interlock", - features=True, - conditions=["$feats.fragmentShaderSampleInterlock", "$feats.fragmentShaderPixelInterlock"]), + alias="interlock", + features=True, + conditions=["$feats.fragmentShaderSampleInterlock", "$feats.fragmentShaderPixelInterlock"]), Extension("VK_EXT_sample_locations", - alias="sample_locations", - properties=True), + alias="sample_locations", + properties=True), Extension("VK_EXT_conservative_rasterization", - alias="cons_raster", - properties=True, - conditions=["$props.fullyCoveredFragmentShaderInputVariable"]), + alias="cons_raster", + properties=True, + conditions=["$props.fullyCoveredFragmentShaderInputVariable"]), Extension("VK_KHR_shader_draw_parameters"), Extension("VK_KHR_sampler_mirror_clamp_to_edge"), Extension("VK_EXT_descriptor_buffer", alias="db", features=True, properties=True), Extension("VK_EXT_conditional_rendering", - alias="cond_render", - features=True, - conditions=["$feats.conditionalRendering"]), + alias="cond_render", + features=True, + conditions=["$feats.conditionalRendering"]), Extension("VK_EXT_transform_feedback", - alias="tf", - properties=True, - features=True, - conditions=["$feats.transformFeedback"]), + alias="tf", + properties=True, + features=True, + conditions=["$feats.transformFeedback"]), Extension("VK_EXT_index_type_uint8", - alias="index_uint8", - features=True, - conditions=["$feats.indexTypeUint8"]), + alias="index_uint8", + features=True, + conditions=["$feats.indexTypeUint8"]), Extension("VK_KHR_image_format_list"), Extension("VK_KHR_sampler_ycbcr_conversion"), Extension("VK_KHR_imageless_framebuffer", - alias="imgless", - features=True, - required=True), + alias="imgless", + features=True, + required=True), Extension("VK_EXT_robustness2", - alias="rb2", - properties=True, - features=True, - conditions=["$feats.nullDescriptor"]), + alias="rb2", + properties=True, + features=True, + conditions=["$feats.nullDescriptor"]), Extension("VK_EXT_image_drm_format_modifier"), Extension("VK_EXT_vertex_attribute_divisor", - alias="vdiv", - properties=True, - features=True, - conditions=["$feats.vertexAttributeInstanceRateDivisor"]), + alias="vdiv", + properties=True, + features=True, + conditions=["$feats.vertexAttributeInstanceRateDivisor"]), Extension("VK_EXT_calibrated_timestamps"), Extension("VK_NV_linear_color_attachment", alias="linear_color", @@ -164,60 +179,64 @@ EXTENSIONS = [ alias="dynamic_render", features=True), Extension("VK_KHR_shader_clock", - alias="shader_clock", - features=True, - conditions=["$feats.shaderSubgroupClock"]), + alias="shader_clock", + features=True, + conditions=["$feats.shaderSubgroupClock"]), Extension("VK_EXT_sampler_filter_minmax", - alias="reduction", - properties=True, - conditions=["$props.filterMinmaxSingleComponentFormats"]), + alias="reduction", + properties=True, + conditions=["$props.filterMinmaxSingleComponentFormats"]), Extension("VK_EXT_custom_border_color", - alias="border_color", - properties=True, - features=True, - conditions=["$feats.customBorderColors"]), + alias="border_color", + properties=True, + features=True, + conditions=["$feats.customBorderColors"]), Extension("VK_EXT_non_seamless_cube_map", - alias="nonseamless", - features=True), + alias="nonseamless", + features=True), Extension("VK_EXT_border_color_swizzle", - alias="border_swizzle", - features=True), + alias="border_swizzle", + features=True), Extension("VK_EXT_blend_operation_advanced", - alias="blend", - properties=True, - # TODO: we can probably support non-premul here with some work? - conditions=["$props.advancedBlendNonPremultipliedSrcColor", "$props.advancedBlendNonPremultipliedDstColor"]), + alias="blend", + properties=True, + # TODO: we can probably support non-premul here with some work? + conditions=["$props.advancedBlendNonPremultipliedSrcColor", "$props.advancedBlendNonPremultipliedDstColor"]), Extension("VK_EXT_extended_dynamic_state", - alias="dynamic_state", - features=True, - conditions=["$feats.extendedDynamicState"]), + alias="dynamic_state", + features=True, + conditions=["$feats.extendedDynamicState"]), Extension("VK_EXT_extended_dynamic_state2", - alias="dynamic_state2", - features=True, - conditions=["$feats.extendedDynamicState2"]), + alias="dynamic_state2", + features=True, + conditions=["$feats.extendedDynamicState2"]), Extension("VK_EXT_extended_dynamic_state3", - alias="dynamic_state3", - properties=True, - features=True), + alias="dynamic_state3", + properties=True, + features=True), Extension("VK_EXT_pipeline_creation_cache_control", - alias="pipeline_cache_control", - features=True, - conditions=["$feats.pipelineCreationCacheControl"]), + alias="pipeline_cache_control", + features=True, + conditions=["$feats.pipelineCreationCacheControl"]), Extension("VK_EXT_shader_stencil_export", - alias="stencil_export"), + alias="stencil_export"), Extension("VK_KHR_portability_subset", - alias="portability_subset", - features=True, - guard=True), - Extension("VK_KHR_timeline_semaphore", alias="timeline", features=True), - Extension("VK_EXT_color_write_enable", alias="cwrite", features=True), + alias="portability_subset", + features=True, + guard=True), + Extension("VK_KHR_timeline_semaphore", + alias="timeline", + features=True), + Extension("VK_EXT_color_write_enable", + alias="cwrite", + features=True), Extension("VK_EXT_4444_formats", - alias="format_4444", - features=True), + alias="format_4444", + features=True), Extension("VK_EXT_scalar_block_layout", - alias="scalar_block_layout", - features=True, - conditions=["$feats.scalarBlockLayout"]), + alias="scalar_block_layout", + features=True, + conditions=["$feats.scalarBlockLayout"]), Extension("VK_KHR_swapchain"), Extension("VK_EXT_rasterization_order_attachment_access", alias="rast_order_access", @@ -228,48 +247,48 @@ EXTENSIONS = [ features=True), Extension("VK_EXT_multi_draw", alias="multidraw", - features=True, - properties=True, - conditions=["$feats.multiDraw"]), + features=True, + properties=True, + conditions=["$feats.multiDraw"]), Extension("VK_EXT_primitives_generated_query", alias="primgen", - features=True), + features=True), Extension("VK_KHR_pipeline_library"), Extension("VK_EXT_graphics_pipeline_library", alias="gpl", - features=True, - properties=True), + features=True, + properties=True), Extension("VK_KHR_push_descriptor", - alias="push", - properties=True), + alias="push", + properties=True), Extension("VK_KHR_descriptor_update_template", - alias="template", required=True), + alias="template", required=True), Extension("VK_EXT_line_rasterization", - alias="line_rast", - properties=True, - features=True), + alias="line_rast", + properties=True, + features=True), Extension("VK_EXT_vertex_input_dynamic_state", - alias="vertex_input", - features=True, - conditions=["$feats.vertexInputDynamicState"]), + alias="vertex_input", + features=True, + conditions=["$feats.vertexInputDynamicState"]), Extension("VK_EXT_primitive_topology_list_restart", - alias="list_restart", - features=True, - conditions=["$feats.primitiveTopologyListRestart"]), + alias="list_restart", + features=True, + conditions=["$feats.primitiveTopologyListRestart"]), Extension("VK_KHR_dedicated_allocation", - alias="dedicated"), + alias="dedicated"), Extension("VK_EXT_descriptor_indexing", - alias="desc_indexing", - features=True, - properties=True, - conditions=["$feats.descriptorBindingPartiallyBound"]), + alias="desc_indexing", + features=True, + properties=True, + conditions=["$feats.descriptorBindingPartiallyBound"]), Extension("VK_EXT_depth_clip_enable", - alias="depth_clip_enable", - features=True), + alias="depth_clip_enable", + features=True), Extension("VK_EXT_shader_demote_to_helper_invocation", - alias="demote", - features=True, - conditions=["$feats.shaderDemoteToHelperInvocation"]), + alias="demote", + features=True, + conditions=["$feats.shaderDemoteToHelperInvocation"]), ] # constructor: Versions(device_version(major, minor, patch), struct_version(major, minor)) diff --git a/src/gallium/drivers/zink/zink_render_pass.c b/src/gallium/drivers/zink/zink_render_pass.c index 91629fa4e2d..2bcb2b890dc 100644 --- a/src/gallium/drivers/zink/zink_render_pass.c +++ b/src/gallium/drivers/zink/zink_render_pass.c @@ -367,7 +367,7 @@ zink_init_zs_attachment(struct zink_context *ctx, struct zink_rt_attrib *rt) (zink_fb_clear_enabled(ctx, PIPE_MAX_COLOR_BUFS) && (zink_fb_clear_element(fb_clear, 0)->zs.bits & PIPE_CLEAR_DEPTH)); bool needs_write_s = (ctx->dsa_state && (util_writes_stencil(&ctx->dsa_state->base.stencil[0]) || util_writes_stencil(&ctx->dsa_state->base.stencil[1]))) || - rt->clear_stencil || (outputs_written & BITFIELD64_BIT(FRAG_RESULT_STENCIL)) || + rt->clear_stencil || (outputs_written & BITFIELD64_BIT(FRAG_RESULT_STENCIL)) || (zink_fb_clear_enabled(ctx, PIPE_MAX_COLOR_BUFS) && (zink_fb_clear_element(fb_clear, 0)->zs.bits & PIPE_CLEAR_STENCIL)); rt->needs_write = needs_write_z | needs_write_s; rt->invalid = !zsbuf->valid;