From 282310e1fef56bfb066bed8a62bb4c750fee7db0 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Sat, 24 May 2025 16:26:20 +0200 Subject: [PATCH] nvc0: remove unscaled poly offset support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Mike Blumenkrantz Reviewed-by: Marek Olšák Reviewed-by: Karol Herbst Part-of: --- .../drivers/nouveau/nvc0/nvc0_screen.c | 1 - src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 6 ++---- .../nouveau/nvc0/nvc0_state_validate.c | 21 ------------------- 3 files changed, 2 insertions(+), 26 deletions(-) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c index 0219c9f9945..6a7796d1aaf 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -315,7 +315,6 @@ nvc0_init_screen_caps(struct nvc0_screen *screen) caps->cull_distance = true; caps->robust_buffer_access_behavior = true; caps->shader_group_vote = true; - caps->polygon_offset_units_unscaled = true; caps->shader_array_components = true; caps->legacy_math_rules = true; caps->doubles = true; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c index 950249c4c0f..28e3f1aa650 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c @@ -302,10 +302,8 @@ nvc0_rasterizer_state_create(struct pipe_context *pipe, if (cso->offset_point || cso->offset_line || cso->offset_tri) { SB_BEGIN_3D(so, POLYGON_OFFSET_FACTOR, 1); SB_DATA (so, fui(cso->offset_scale)); - if (!cso->offset_units_unscaled) { - SB_BEGIN_3D(so, POLYGON_OFFSET_UNITS, 1); - SB_DATA (so, fui(cso->offset_units * 2.0f)); - } + SB_BEGIN_3D(so, POLYGON_OFFSET_UNITS, 1); + SB_DATA (so, fui(cso->offset_units * 2.0f)); SB_BEGIN_3D(so, POLYGON_OFFSET_CLAMP, 1); SB_DATA (so, fui(cso->offset_clamp)); } diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c index 98056828550..a2fdb9fb0d4 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c @@ -712,26 +712,6 @@ nvc0_validate_zsa_fb(struct nvc0_context *nvc0) } } -static void -nvc0_validate_rast_fb(struct nvc0_context *nvc0) -{ - struct nouveau_pushbuf *push = nvc0->base.pushbuf; - struct pipe_framebuffer_state *fb = &nvc0->framebuffer; - struct pipe_rasterizer_state *rast = &nvc0->rast->pipe; - - if (!rast) - return; - - if (rast->offset_units_unscaled) { - BEGIN_NVC0(push, NVC0_3D(POLYGON_OFFSET_UNITS), 1); - if (fb->zsbuf.texture && fb->zsbuf.format == PIPE_FORMAT_Z16_UNORM) - PUSH_DATAf(push, rast->offset_units * (1 << 16)); - else - PUSH_DATAf(push, rast->offset_units * (1 << 24)); - } -} - - static void nvc0_validate_tess_state(struct nvc0_context *nvc0) { @@ -886,7 +866,6 @@ validate_list_3d[] = { { nvc0_validate_fp_zsa_rast, NVC0_NEW_3D_FRAGPROG | NVC0_NEW_3D_ZSA | NVC0_NEW_3D_RASTERIZER }, { nvc0_validate_zsa_fb, NVC0_NEW_3D_ZSA | NVC0_NEW_3D_FRAMEBUFFER }, - { nvc0_validate_rast_fb, NVC0_NEW_3D_RASTERIZER | NVC0_NEW_3D_FRAMEBUFFER }, { nvc0_validate_clip, NVC0_NEW_3D_CLIP | NVC0_NEW_3D_RASTERIZER | NVC0_NEW_3D_VERTPROG | NVC0_NEW_3D_TEVLPROG |