mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-04 06:38:19 +02:00
zink: use custom sample locations to (mostly) handle multisample=disabled
setting all the sample locs to {0.5,0.5} is the same as single-sampled,
which produces the desired output
does not yet handle cases with shader samplemask access
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41862>
This commit is contained in:
parent
38c4461c78
commit
a5146fc0a9
11 changed files with 43 additions and 131 deletions
|
|
@ -477,20 +477,6 @@ spec@egl_khr_gl_image@egl_khr_gl_renderbuffer_image-clear-shared-image gl_depth_
|
|||
spec@egl_khr_surfaceless_context@viewport,Fail
|
||||
spec@egl_mesa_configless_context@basic,Fail
|
||||
spec@ext_framebuffer_multisample@clip-and-scissor-blit 16 msaa,Fail
|
||||
spec@ext_framebuffer_multisample@enable-flag,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 16 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 16 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 16 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 16 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-disabled,Fail
|
||||
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-export,Fail
|
||||
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-ownership_transfer,Fail
|
||||
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-refcount,Fail
|
||||
|
|
@ -525,8 +511,6 @@ spec@khr_texture_compression_astc@miptree-gles srgb-fp@sRGB decode full precisio
|
|||
# uprev Piglit in Mesa
|
||||
spec@!opengl 1.1@large-tex,Fail
|
||||
spec@!opengl 1.1@large-tex@test_clear_tex_sub_image,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
|
||||
|
||||
#glcts update
|
||||
spec@glsl-4.00@execution@built-in-functions@fs-inverse-dmat4,Crash
|
||||
|
|
@ -553,21 +537,16 @@ spec@khr_texture_compression_astc@miptree-gl srgb-fp,Fail
|
|||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_src_dst_x,Fail
|
||||
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_reverse_dst_y,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-deriv-disabled,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_reverse_dst_x,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_dst_x,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-deriv-disabled,Fail
|
||||
|
||||
spec@arb_sample_shading@samplemask 4,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-deriv-disabled,Fail
|
||||
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
|
||||
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
|
||||
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min,Fail
|
||||
spec@!opengl 1.1@depthstencil-default_fb-blit samples=2,Fail
|
||||
spec@arb_sample_shading@samplemask 6,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
|
||||
|
||||
# EGL
|
||||
wayland-dEQP-EGL.functional.resize.surface_size.grow,Fail
|
||||
|
|
|
|||
|
|
@ -451,27 +451,6 @@ spec@egl_khr_surfaceless_context@viewport,Fail
|
|||
spec@ext_external_objects@vk-image-overwrite@RGB 10 A2 UINT optimal: Failed to initialize OpenGL FBO/RBO,Fail
|
||||
|
||||
spec@ext_framebuffer_multisample@clip-and-scissor-blit 16 msaa,Fail
|
||||
spec@ext_framebuffer_multisample@enable-flag,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 16 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 16 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 16 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 16 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-disabled,Fail
|
||||
|
||||
spec@ext_transform_feedback@tessellation triangle_fan flat_first,Fail
|
||||
spec@ext_transform_feedback@tessellation quad_strip wireframe,Fail
|
||||
|
|
|
|||
|
|
@ -122,27 +122,10 @@ spec@ext_framebuffer_multisample@accuracy 8 srgb depthstencil,Fail
|
|||
spec@ext_framebuffer_multisample@accuracy 8 srgb depthstencil linear,Fail
|
||||
spec@ext_framebuffer_multisample@accuracy all_samples srgb depthstencil,Fail
|
||||
spec@ext_framebuffer_multisample@accuracy all_samples srgb depthstencil linear,Fail
|
||||
spec@ext_framebuffer_multisample@enable-flag,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-edges,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-edges,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-edges,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-edges,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-disabled,Fail
|
||||
|
||||
spec@khr_texture_compression_astc@miptree-gl srgb-fp,Fail
|
||||
spec@khr_texture_compression_astc@miptree-gl srgb-fp@sRGB decode full precision,Fail
|
||||
|
|
|
|||
|
|
@ -341,23 +341,6 @@ spec@egl_khr_surfaceless_context@viewport,Fail
|
|||
spec@egl_mesa_configless_context@basic,Fail
|
||||
spec@ext_external_objects@vk-image-overwrite,Crash
|
||||
spec@ext_external_objects@vk-ping-pong-multi-sem,Fail
|
||||
spec@ext_framebuffer_multisample@enable-flag,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@upsample 2 stencil,Fail
|
||||
spec@ext_framebuffer_multisample@upsample 4 stencil,Fail
|
||||
spec@ext_framebuffer_multisample@upsample 6 stencil,Fail
|
||||
|
|
|
|||
|
|
@ -345,23 +345,6 @@ spec@egl_khr_surfaceless_context@viewport,Fail
|
|||
spec@egl_mesa_configless_context@basic,Fail
|
||||
spec@ext_external_objects@vk-image-overwrite,Crash
|
||||
spec@ext_external_objects@vk-image-overwrite@RGBA 4 UNORM linear,Fail
|
||||
spec@ext_framebuffer_multisample@enable-flag,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@upsample 2 stencil,Fail
|
||||
spec@ext_framebuffer_multisample@upsample 4 stencil,Fail
|
||||
spec@ext_framebuffer_multisample@upsample 6 stencil,Fail
|
||||
|
|
|
|||
|
|
@ -326,23 +326,6 @@ spec@egl_chromium_sync_control@conformance,Fail
|
|||
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_msc_and_sbc_test,Fail
|
||||
spec@egl_khr_gl_image@egl_khr_gl_renderbuffer_image-clear-shared-image gl_depth_component24,Fail
|
||||
spec@egl_khr_surfaceless_context@viewport,Fail
|
||||
spec@ext_framebuffer_multisample@enable-flag,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 6 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 8 non-centroid-disabled,Fail
|
||||
spec@ext_transform_feedback@tessellation quad_strip wireframe,Fail
|
||||
spec@ext_transform_feedback@tessellation quads wireframe,Fail
|
||||
spec@glsl-1.10@execution@glsl-fs-inline-explosion,Crash
|
||||
|
|
|
|||
|
|
@ -151,18 +151,9 @@ spec@ext_framebuffer_multisample@alpha-to-coverage-no-draw-buffer-zero 2,Fail
|
|||
spec@ext_framebuffer_multisample@alpha-to-coverage-no-draw-buffer-zero 4,Fail
|
||||
spec@ext_framebuffer_multisample@draw-buffers-alpha-to-coverage 2,Fail
|
||||
spec@ext_framebuffer_multisample@draw-buffers-alpha-to-coverage 4,Fail
|
||||
spec@ext_framebuffer_multisample@enable-flag,Fail
|
||||
spec@ext_framebuffer_multisample@formats 2,Fail
|
||||
spec@ext_framebuffer_multisample@formats 4,Fail
|
||||
spec@ext_framebuffer_multisample@formats all_samples,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@sample-alpha-to-coverage 2 color,Fail
|
||||
spec@ext_framebuffer_multisample@sample-alpha-to-coverage 4 color,Fail
|
||||
|
||||
|
|
|
|||
|
|
@ -97,17 +97,8 @@ spec@ext_framebuffer_multisample@clip-and-scissor-blit 2 msaa,Fail
|
|||
spec@ext_framebuffer_multisample@clip-and-scissor-blit 2 upsample,Fail
|
||||
spec@ext_framebuffer_multisample@clip-and-scissor-blit 4 msaa,Fail
|
||||
spec@ext_framebuffer_multisample@clip-and-scissor-blit 4 upsample,Fail
|
||||
spec@ext_framebuffer_multisample@enable-flag,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 centroid-edges,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 centroid-edges,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_packed_float@query-rgba-signed-components,Fail
|
||||
|
||||
spec@khr_texture_compression_astc@miptree-gl srgb-fp,Fail
|
||||
|
|
|
|||
|
|
@ -3064,6 +3064,8 @@ begin_rendering(struct zink_context *ctx, bool check_attachment_shadow)
|
|||
{
|
||||
unsigned clear_buffers = 0;
|
||||
struct zink_screen *screen = zink_screen(ctx->base.screen);
|
||||
if (screen->base.caps.programmable_sample_locations)
|
||||
ctx->sample_locations_changed = true;
|
||||
if (ctx->has_swapchain)
|
||||
zink_render_fixup_swapchain(ctx);
|
||||
bool has_depth = false;
|
||||
|
|
@ -3684,6 +3686,41 @@ void
|
|||
zink_init_vk_sample_locations(struct zink_context *ctx, VkSampleLocationsInfoEXT *loc)
|
||||
{
|
||||
struct zink_screen *screen = zink_screen(ctx->base.screen);
|
||||
static const VkSampleLocationEXT ms_disabled[] = {
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
{0.5, 0.5},
|
||||
};
|
||||
|
||||
if (ctx->sample_locations_changed)
|
||||
zink_update_vk_sample_locations(ctx);
|
||||
unsigned idx = util_logbase2_ceil(MAX2(ctx->gfx_pipeline_state.rast_samples + 1, 1));
|
||||
|
|
@ -3692,7 +3729,7 @@ zink_init_vk_sample_locations(struct zink_context *ctx, VkSampleLocationsInfoEXT
|
|||
loc->sampleLocationGridSize = screen->maxSampleLocationGridSize[idx];
|
||||
loc->sampleLocationsPerPixel = ctx->gfx_pipeline_state.rast_samples + 1;
|
||||
loc->sampleLocationsCount = loc->sampleLocationGridSize.width * loc->sampleLocationGridSize.height * loc->sampleLocationsPerPixel;
|
||||
loc->pSampleLocations = ctx->vk_sample_locations;
|
||||
loc->pSampleLocations = ctx->sample_locations_enabled ? ctx->vk_sample_locations : ms_disabled;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -449,8 +449,9 @@ emit_dynamic_state(struct zink_context *ctx, bool pipeline_changed, unsigned num
|
|||
}
|
||||
|
||||
if ((BATCH_CHANGED && (screen->base.caps.programmable_sample_locations || uses_shobj)) || ctx->sample_locations_changed) {
|
||||
VKCTX(CmdSetSampleLocationsEnableEXT)(bs->cmdbuf, ctx->sample_locations_enabled);
|
||||
if (ctx->sample_locations_enabled) {
|
||||
bool enabled = ctx->sample_locations_enabled || (!rast_state->base.multisample && ctx->gfx_pipeline_state.rast_samples);
|
||||
VKCTX(CmdSetSampleLocationsEnableEXT)(bs->cmdbuf, enabled);
|
||||
if (enabled) {
|
||||
VkSampleLocationsInfoEXT loc;
|
||||
zink_init_vk_sample_locations(ctx, &loc);
|
||||
VKCTX(CmdSetSampleLocationsEXT)(bs->cmdbuf, &loc);
|
||||
|
|
|
|||
|
|
@ -631,6 +631,7 @@ zink_bind_rasterizer_state(struct pipe_context *pctx, void *cso)
|
|||
bool rasterizer_discard = ctx->rast_state ? ctx->rast_state->base.rasterizer_discard : false;
|
||||
bool half_pixel_center = ctx->rast_state ? ctx->rast_state->base.half_pixel_center : true;
|
||||
bool representative_fragment_test = ctx->rast_state ? ctx->rast_state->base.representative_fragment_test : false;
|
||||
bool multisample = ctx->rast_state ? ctx->rast_state->base.multisample : false;
|
||||
float line_width = ctx->rast_state ? ctx->rast_state->base.line_width : 1.0;
|
||||
ctx->rast_state = cso;
|
||||
|
||||
|
|
@ -654,6 +655,7 @@ zink_bind_rasterizer_state(struct pipe_context *pctx, void *cso)
|
|||
zink_set_last_vertex_key(ctx)->clip_halfz = ctx->rast_state->base.clip_halfz;
|
||||
ctx->vp_state_changed = true;
|
||||
}
|
||||
ctx->sample_locations_changed |= screen->base.caps.programmable_sample_locations && (multisample != ctx->rast_state->base.multisample);
|
||||
|
||||
if (screen->info.have_EXT_extended_dynamic_state3) {
|
||||
#define STATE_CHECK(NAME, FLAG) \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue