From 310959d9fe1aeb78c7cad24a2c6095513ab5f195 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Wed, 12 Oct 2022 12:54:30 +0200 Subject: [PATCH] mesa/st: rip out point-sprite cap All current drivers reports supporting this cap, let's just assume it's always supported. It seems better to lower this in the drivers, like we already do for etnaviv, panfrost and zink... Reviewed-By: Mike Blumenkrantz Begrudgingly-reviewed-by: Alyssa Rosenzweig Part-of: --- docs/gallium/screen.rst | 1 - src/gallium/auxiliary/util/u_screen.c | 1 - src/gallium/drivers/crocus/crocus_screen.c | 1 - src/gallium/drivers/d3d12/d3d12_screen.cpp | 1 - src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 - src/gallium/drivers/freedreno/freedreno_screen.c | 1 - src/gallium/drivers/i915/i915_screen.c | 1 - src/gallium/drivers/iris/iris_screen.c | 1 - src/gallium/drivers/lima/lima_screen.c | 4 ---- src/gallium/drivers/llvmpipe/lp_screen.c | 2 -- src/gallium/drivers/nouveau/nv30/nv30_screen.c | 1 - src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 - src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1 - src/gallium/drivers/panfrost/pan_screen.c | 1 - src/gallium/drivers/r300/r300_screen.c | 1 - src/gallium/drivers/r600/r600_pipe.c | 1 - src/gallium/drivers/radeonsi/si_get.c | 1 - src/gallium/drivers/softpipe/sp_screen.c | 2 -- src/gallium/drivers/svga/svga_screen.c | 2 -- src/gallium/drivers/v3d/v3d_screen.c | 1 - src/gallium/drivers/vc4/vc4_screen.c | 4 ---- src/gallium/drivers/virgl/virgl_screen.c | 2 -- src/gallium/drivers/zink/zink_screen.c | 3 --- src/gallium/include/pipe/p_defines.h | 1 - src/mesa/state_tracker/st_atom_shader.c | 5 ----- src/mesa/state_tracker/st_context.c | 8 +------- src/mesa/state_tracker/st_context.h | 1 - src/mesa/state_tracker/st_extensions.c | 4 +--- src/mesa/state_tracker/st_program.c | 10 +--------- src/mesa/state_tracker/st_program.h | 1 - 30 files changed, 3 insertions(+), 62 deletions(-) diff --git a/docs/gallium/screen.rst b/docs/gallium/screen.rst index 9540ca4daf9..f48eadba0af 100644 --- a/docs/gallium/screen.rst +++ b/docs/gallium/screen.rst @@ -29,7 +29,6 @@ The integer capabilities: * ``PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS``: How many dual-source blend RTs are support. :ref:`Blend` for more information. * ``PIPE_CAP_ANISOTROPIC_FILTER``: Whether textures can be filtered anisotropically. -* ``PIPE_CAP_POINT_SPRITE``: Whether point sprites are available. * ``PIPE_CAP_MAX_RENDER_TARGETS``: The maximum number of render targets that may be bound. * ``PIPE_CAP_OCCLUSION_QUERY``: Whether occlusion queries are available. diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c index d880d2a66d9..6e544bf0f9e 100644 --- a/src/gallium/auxiliary/util/u_screen.c +++ b/src/gallium/auxiliary/util/u_screen.c @@ -43,7 +43,6 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen, case PIPE_CAP_NPOT_TEXTURES: case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: case PIPE_CAP_ANISOTROPIC_FILTER: - case PIPE_CAP_POINT_SPRITE: return 0; case PIPE_CAP_GRAPHICS: diff --git a/src/gallium/drivers/crocus/crocus_screen.c b/src/gallium/drivers/crocus/crocus_screen.c index 5620add7875..bf7d445ece5 100644 --- a/src/gallium/drivers/crocus/crocus_screen.c +++ b/src/gallium/drivers/crocus/crocus_screen.c @@ -141,7 +141,6 @@ crocus_get_param(struct pipe_screen *pscreen, enum pipe_cap param) switch (param) { case PIPE_CAP_NPOT_TEXTURES: case PIPE_CAP_ANISOTROPIC_FILTER: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_OCCLUSION_QUERY: case PIPE_CAP_TEXTURE_SWIZZLE: case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: diff --git a/src/gallium/drivers/d3d12/d3d12_screen.cpp b/src/gallium/drivers/d3d12/d3d12_screen.cpp index 756af74d5bc..69475fa6e18 100644 --- a/src/gallium/drivers/d3d12/d3d12_screen.cpp +++ b/src/gallium/drivers/d3d12/d3d12_screen.cpp @@ -272,7 +272,6 @@ d3d12_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_VS_INSTANCEID: case PIPE_CAP_TGSI_TEX_TXF_LZ: case PIPE_CAP_OCCLUSION_QUERY: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED: case PIPE_CAP_PSIZ_CLAMPED: case PIPE_CAP_BLEND_EQUATION_SEPARATE: diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c index 6627a8ce58e..328e69e0de9 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c @@ -143,7 +143,6 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) switch (param) { /* Supported features (boolean caps). */ - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_BLEND_EQUATION_SEPARATE: case PIPE_CAP_FS_COORD_ORIGIN_UPPER_LEFT: case PIPE_CAP_FS_COORD_PIXEL_CENTER_HALF_INTEGER: diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 7cd906d4f98..a4feda060bc 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -192,7 +192,6 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_NPOT_TEXTURES: case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: case PIPE_CAP_ANISOTROPIC_FILTER: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_BLEND_EQUATION_SEPARATE: case PIPE_CAP_TEXTURE_SWIZZLE: case PIPE_CAP_MIXED_COLORBUFFER_FORMATS: diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index 2b12968fe2f..b9e7b4dd1a2 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -393,7 +393,6 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap cap) case PIPE_CAP_ANISOTROPIC_FILTER: case PIPE_CAP_NPOT_TEXTURES: case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_PRIMITIVE_RESTART: /* draw module */ case PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX: case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index 82146479ddd..086af84033e 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -192,7 +192,6 @@ iris_get_param(struct pipe_screen *pscreen, enum pipe_cap param) switch (param) { case PIPE_CAP_NPOT_TEXTURES: case PIPE_CAP_ANISOTROPIC_FILTER: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_OCCLUSION_QUERY: case PIPE_CAP_QUERY_TIME_ELAPSED: case PIPE_CAP_TEXTURE_SWIZZLE: diff --git a/src/gallium/drivers/lima/lima_screen.c b/src/gallium/drivers/lima/lima_screen.c index 42fc957e593..fc49cbe66c5 100644 --- a/src/gallium/drivers/lima/lima_screen.c +++ b/src/gallium/drivers/lima/lima_screen.c @@ -111,10 +111,6 @@ lima_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_SURFACE_SAMPLE_COUNT: return 1; - /* Unimplemented, but for exporting OpenGL 2.0 */ - case PIPE_CAP_POINT_SPRITE: - return 1; - /* not clear supported */ case PIPE_CAP_FS_COORD_ORIGIN_UPPER_LEFT: case PIPE_CAP_FS_COORD_ORIGIN_LOWER_LEFT: diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 0b6bf0098d1..2a2bec9c697 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -131,8 +131,6 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS: return PIPE_MAX_SO_BUFFERS; - case PIPE_CAP_POINT_SPRITE: - return 1; case PIPE_CAP_MAX_RENDER_TARGETS: return PIPE_MAX_COLOR_BUFS; case PIPE_CAP_OCCLUSION_QUERY: diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c index 71e92d158ad..09b707dc275 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c @@ -85,7 +85,6 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) /* supported capabilities */ case PIPE_CAP_ANISOTROPIC_FILTER: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_OCCLUSION_QUERY: case PIPE_CAP_QUERY_TIME_ELAPSED: case PIPE_CAP_QUERY_TIMESTAMP: diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index 2ac0c07886b..651753b2576 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -206,7 +206,6 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_BUFFER_OBJECTS: case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT: case PIPE_CAP_DEPTH_CLIP_DISABLE: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD: case PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES: case PIPE_CAP_FRAGMENT_COLOR_CLAMPED: diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c index e8805aaa4df..43f7bed6db4 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -226,7 +226,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_BUFFER_OBJECTS: case PIPE_CAP_TEXTURE_MULTISAMPLE: case PIPE_CAP_DEPTH_CLIP_DISABLE: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_TGSI_TEXCOORD: case PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD: case PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES: diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c index 0c87c52e2f0..b7e469bd057 100644 --- a/src/gallium/drivers/panfrost/pan_screen.c +++ b/src/gallium/drivers/panfrost/pan_screen.c @@ -113,7 +113,6 @@ panfrost_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_MIXED_COLOR_DEPTH_BITS: case PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD: case PIPE_CAP_VERTEX_COLOR_UNCLAMPED: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_DEPTH_CLIP_DISABLE: case PIPE_CAP_DEPTH_CLIP_DISABLE_SEPARATE: case PIPE_CAP_MIXED_COLORBUFFER_FORMATS: diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 75f19ea6fce..240443df632 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -130,7 +130,6 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: case PIPE_CAP_MIXED_COLOR_DEPTH_BITS: case PIPE_CAP_ANISOTROPIC_FILTER: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_OCCLUSION_QUERY: case PIPE_CAP_TEXTURE_MIRROR_CLAMP: case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index fc7d8d46e12..7219a6a9de6 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -263,7 +263,6 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: case PIPE_CAP_MIXED_COLOR_DEPTH_BITS: case PIPE_CAP_ANISOTROPIC_FILTER: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_OCCLUSION_QUERY: case PIPE_CAP_TEXTURE_MIRROR_CLAMP: case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index 84c343bbc01..eb0726ea4c1 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -57,7 +57,6 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_ACCELERATED: case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: case PIPE_CAP_ANISOTROPIC_FILTER: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_OCCLUSION_QUERY: case PIPE_CAP_TEXTURE_MIRROR_CLAMP: case PIPE_CAP_TEXTURE_SHADOW_LOD: diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index af58c1b47a0..8baba56c4b7 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -121,8 +121,6 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_ANISOTROPIC_FILTER: return 1; - case PIPE_CAP_POINT_SPRITE: - return 1; case PIPE_CAP_MAX_RENDER_TARGETS: return PIPE_MAX_COLOR_BUFS; case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 9c0c125e136..4ecf1c8158b 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -216,8 +216,6 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param) return sws->have_vgpu10 ? 1 : 0; case PIPE_CAP_ANISOTROPIC_FILTER: return 1; - case PIPE_CAP_POINT_SPRITE: - return 1; case PIPE_CAP_MAX_RENDER_TARGETS: return svgascreen->max_color_buffers; case PIPE_CAP_OCCLUSION_QUERY: diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c index 2ab601a8d47..f024dc8121c 100644 --- a/src/gallium/drivers/v3d/v3d_screen.c +++ b/src/gallium/drivers/v3d/v3d_screen.c @@ -131,7 +131,6 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART: case PIPE_CAP_PRIMITIVE_RESTART: case PIPE_CAP_OCCLUSION_QUERY: - case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME: case PIPE_CAP_DRAW_INDIRECT: case PIPE_CAP_MULTI_DRAW_INDIRECT: diff --git a/src/gallium/drivers/vc4/vc4_screen.c b/src/gallium/drivers/vc4/vc4_screen.c index 42bdabad9b1..97429478af8 100644 --- a/src/gallium/drivers/vc4/vc4_screen.c +++ b/src/gallium/drivers/vc4/vc4_screen.c @@ -156,10 +156,6 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return vc4_has_feature(screen, DRM_VC4_PARAM_SUPPORTS_FIXED_RCL_ORDER); - /* lying for GL 2.0 */ - case PIPE_CAP_POINT_SPRITE: - return 1; - case PIPE_CAP_FS_COORD_ORIGIN_UPPER_LEFT: case PIPE_CAP_FS_COORD_PIXEL_CENTER_HALF_INTEGER: case PIPE_CAP_FS_FACE_IS_INTEGER_SYSVAL: diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c index d24fbd055f5..4450762ded9 100644 --- a/src/gallium/drivers/virgl/virgl_screen.c +++ b/src/gallium/drivers/virgl/virgl_screen.c @@ -89,8 +89,6 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_ANISOTROPIC_FILTER: return vscreen->caps.caps.v2.max_anisotropy > 1.0; - case PIPE_CAP_POINT_SPRITE: - return 1; case PIPE_CAP_MAX_RENDER_TARGETS: return vscreen->caps.caps.v1.max_render_targets; case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 67b00896146..c33ecba06ad 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -587,9 +587,6 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_SHADER_CLOCK: return screen->info.have_KHR_shader_clock; - case PIPE_CAP_POINT_SPRITE: - return 1; - case PIPE_CAP_SHADER_BALLOT: if (screen->info.props11.subgroupSize > 64) return false; diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index f8c89341263..c91ef7d8e4e 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -730,7 +730,6 @@ enum pipe_cap PIPE_CAP_NPOT_TEXTURES, PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS, PIPE_CAP_ANISOTROPIC_FILTER, - PIPE_CAP_POINT_SPRITE, PIPE_CAP_MAX_RENDER_TARGETS, PIPE_CAP_OCCLUSION_QUERY, PIPE_CAP_QUERY_TIME_ELAPSED, diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c index b11ddeeae47..96f4e1c04a6 100644 --- a/src/mesa/state_tracker/st_atom_shader.c +++ b/src/mesa/state_tracker/st_atom_shader.c @@ -144,11 +144,6 @@ st_update_fp( struct st_context *st ) key.lower_two_sided_color = st->lower_two_sided_color && _mesa_vertex_program_two_side_enabled(st->ctx); - /* _NEW_POINT | _NEW_PROGRAM */ - if (st->lower_texcoord_replace && st->ctx->Point.PointSprite && - st->ctx->Point.CoordReplace) - key.lower_texcoord_replace = st->ctx->Point.CoordReplace; - /* gl_driver_flags::NewFragClamp */ key.clamp_color = st->clamp_frag_color_in_shader && st->ctx->Color._ClampFragmentColor; diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 2da67fe44f8..dbbd768609e 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -156,9 +156,6 @@ st_invalidate_state(struct gl_context *ctx) st_user_clip_planes_enabled(ctx)) st->dirty |= ST_NEW_CLIP_STATE; - if (new_state & _NEW_POINT && st->lower_texcoord_replace) - st->dirty |= ST_NEW_FS_STATE; - if (new_state & _NEW_PIXEL) st->dirty |= ST_NEW_PIXEL_TRANSFER; @@ -650,8 +647,6 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe, screen->get_param(screen, PIPE_CAP_PREFER_REAL_BUFFER_IN_CONSTBUF0); st->has_conditional_render = screen->get_param(screen, PIPE_CAP_CONDITIONAL_RENDER); - st->lower_texcoord_replace = - !screen->get_param(screen, PIPE_CAP_POINT_SPRITE); st->lower_rect_tex = !screen->get_param(screen, PIPE_CAP_TEXRECT); st->allow_st_finalize_nir_twice = screen->finalize_nir != NULL; @@ -739,8 +734,7 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe, !st->lower_alpha_test && !st->clamp_frag_color_in_shader && !st->force_persample_in_shader && - !st->lower_two_sided_color && - !st->lower_texcoord_replace; + !st->lower_two_sided_color; st->shader_has_one_variant[MESA_SHADER_TESS_CTRL] = st->has_shareable_shaders; st->shader_has_one_variant[MESA_SHADER_TESS_EVAL] = diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index 53f45b098e3..7ff3baa0e6d 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -168,7 +168,6 @@ struct st_context boolean lower_ucp; boolean prefer_real_buffer_in_constbuf0; boolean has_conditional_render; - boolean lower_texcoord_replace; boolean lower_rect_tex; /* There are consequences for drivers wanting to call st_finalize_nir diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 2e72469e304..595e6ec5229 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -782,7 +782,6 @@ void st_init_extensions(struct pipe_screen *screen, { o(ARB_occlusion_query2), PIPE_CAP_OCCLUSION_QUERY }, { o(ARB_pipeline_statistics_query), PIPE_CAP_QUERY_PIPELINE_STATISTICS }, { o(ARB_pipeline_statistics_query), PIPE_CAP_QUERY_PIPELINE_STATISTICS_SINGLE }, - { o(ARB_point_sprite), PIPE_CAP_POINT_SPRITE }, { o(ARB_polygon_offset_clamp), PIPE_CAP_POLYGON_OFFSET_CLAMP }, { o(ARB_post_depth_coverage), PIPE_CAP_POST_DEPTH_COVERAGE }, { o(ARB_query_buffer_object), PIPE_CAP_QUERY_BUFFER_OBJECT }, @@ -1847,6 +1846,5 @@ void st_init_extensions(struct pipe_screen *screen, !(nir_options->lower_doubles_options & nir_lower_fp64_full_software)) extensions->NV_copy_depth_to_color = TRUE; - if (prefer_nir) - extensions->ARB_point_sprite = GL_TRUE; + extensions->ARB_point_sprite = GL_TRUE; } diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 2c8f7eb777f..376a5f6621e 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -938,13 +938,6 @@ st_create_fp_variant(struct st_context *st, finalize = true; } - if (key->lower_texcoord_replace) { - bool point_coord_is_sysval = st->ctx->Const.GLSLPointCoordIsSysVal; - NIR_PASS_V(state.ir.nir, nir_lower_texcoord_replace, - key->lower_texcoord_replace, point_coord_is_sysval, false); - finalize = true; - } - if (st->emulate_gl_clamp && (key->gl_clamp[0] || key->gl_clamp[1] || key->gl_clamp[2])) { nir_lower_tex_options tex_opts = {0}; @@ -1089,7 +1082,7 @@ st_get_fp_variant(struct st_context *st, if (fp->variants != NULL) { _mesa_perf_debug(st->ctx, MESA_DEBUG_SEVERITY_MEDIUM, - "Compiling fragment shader variant (%s%s%s%s%s%s%s%s%s%s%s%s%s)", + "Compiling fragment shader variant (%s%s%s%s%s%s%s%s%s%s%s%s)", key->bitmap ? "bitmap," : "", key->drawpixels ? "drawpixels," : "", key->scaleAndBias ? "scale_bias," : "", @@ -1099,7 +1092,6 @@ st_get_fp_variant(struct st_context *st, key->fog ? "fog," : "", key->lower_two_sided_color ? "twoside," : "", key->lower_flatshade ? "flatshade," : "", - key->lower_texcoord_replace ? "texcoord_replace," : "", key->lower_alpha_func ? "alpha_compare," : "", /* skipped ATI_fs targets */ fp->ExternalSamplersUsed ? "external?," : "", diff --git a/src/mesa/state_tracker/st_program.h b/src/mesa/state_tracker/st_program.h index c9d1676625e..3265e02e019 100644 --- a/src/mesa/state_tracker/st_program.h +++ b/src/mesa/state_tracker/st_program.h @@ -176,7 +176,6 @@ struct st_fp_variant_key GLuint lower_two_sided_color:1; GLuint lower_flatshade:1; - GLuint lower_texcoord_replace:MAX_TEXTURE_COORD_UNITS; unsigned lower_alpha_func:3; /** needed for ATI_fragment_shader */