mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
mesa,gallium: not touch TS when internal draws
TS does not affect vertex pipeline draws. We keep mesh shader before radeonsi is ready. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37505>
This commit is contained in:
parent
4711fb711c
commit
11f2babddc
10 changed files with 27 additions and 23 deletions
|
|
@ -183,13 +183,17 @@ cso_set_render_condition(struct cso_context *cso,
|
|||
#define CSO_BIT_TASK_SHADER 0x100000
|
||||
#define CSO_BIT_MESH_SHADER 0x200000
|
||||
|
||||
#define CSO_BITS_ALL_SHADERS (CSO_BIT_VERTEX_SHADER | \
|
||||
CSO_BIT_FRAGMENT_SHADER | \
|
||||
CSO_BIT_GEOMETRY_SHADER | \
|
||||
CSO_BIT_TESSCTRL_SHADER | \
|
||||
CSO_BIT_TESSEVAL_SHADER | \
|
||||
CSO_BIT_TASK_SHADER | \
|
||||
CSO_BIT_MESH_SHADER)
|
||||
#define CSO_BITS_VERTEX_PIPE_SHADERS \
|
||||
(CSO_BIT_VERTEX_SHADER | \
|
||||
CSO_BIT_FRAGMENT_SHADER | \
|
||||
CSO_BIT_GEOMETRY_SHADER | \
|
||||
CSO_BIT_TESSCTRL_SHADER | \
|
||||
CSO_BIT_TESSEVAL_SHADER)
|
||||
|
||||
#define CSO_BITS_MESH_PIPE_SHADERS \
|
||||
(CSO_BIT_TASK_SHADER | \
|
||||
CSO_BIT_MESH_SHADER | \
|
||||
CSO_BIT_FRAGMENT_SHADER)
|
||||
|
||||
#define CSO_BIT_COMPUTE_SHADER (1<<0)
|
||||
#define CSO_BIT_COMPUTE_SAMPLERS (1<<1)
|
||||
|
|
|
|||
|
|
@ -524,7 +524,8 @@ hud_draw_results(struct hud_context *hud, struct pipe_resource *tex)
|
|||
CSO_BIT_RASTERIZER |
|
||||
CSO_BIT_VIEWPORT |
|
||||
CSO_BIT_STREAM_OUTPUTS |
|
||||
CSO_BITS_ALL_SHADERS |
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BITS_VERTEX_PIPE_SHADERS |
|
||||
CSO_BIT_VERTEX_ELEMENTS |
|
||||
CSO_BIT_PAUSE_QUERIES |
|
||||
CSO_BIT_RENDER_CONDITION));
|
||||
|
|
@ -572,7 +573,6 @@ hud_draw_results(struct hud_context *hud, struct pipe_resource *tex)
|
|||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
cso_set_task_shader_handle(cso, NULL);
|
||||
cso_set_mesh_shader_handle(cso, NULL);
|
||||
cso_set_vertex_shader_handle(cso, hud->vs_color);
|
||||
cso_set_vertex_elements(cso, &hud->velems);
|
||||
|
|
|
|||
|
|
@ -127,7 +127,8 @@ pp_run(struct pp_queue_t *ppq, struct pipe_resource *in,
|
|||
CSO_BIT_STENCIL_REF |
|
||||
CSO_BIT_STREAM_OUTPUTS |
|
||||
CSO_BIT_VERTEX_ELEMENTS |
|
||||
CSO_BITS_ALL_SHADERS |
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BITS_VERTEX_PIPE_SHADERS |
|
||||
CSO_BIT_VIEWPORT |
|
||||
CSO_BIT_PAUSE_QUERIES |
|
||||
CSO_BIT_RENDER_CONDITION));
|
||||
|
|
@ -139,7 +140,6 @@ pp_run(struct pp_queue_t *ppq, struct pipe_resource *in,
|
|||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
cso_set_task_shader_handle(cso, NULL);
|
||||
cso_set_mesh_shader_handle(cso, NULL);
|
||||
cso_set_render_condition(cso, NULL, false, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -209,7 +209,8 @@ setup_render_state(struct gl_context *ctx,
|
|||
CSO_BIT_VIEWPORT |
|
||||
CSO_BIT_STREAM_OUTPUTS |
|
||||
CSO_BIT_VERTEX_ELEMENTS |
|
||||
CSO_BITS_ALL_SHADERS));
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BITS_VERTEX_PIPE_SHADERS));
|
||||
|
||||
|
||||
/* rasterizer state: just scissor */
|
||||
|
|
@ -226,7 +227,6 @@ setup_render_state(struct gl_context *ctx,
|
|||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
cso_set_task_shader_handle(cso, NULL);
|
||||
cso_set_mesh_shader_handle(cso, NULL);
|
||||
|
||||
/* user samplers, plus our bitmap sampler */
|
||||
|
|
|
|||
|
|
@ -225,7 +225,8 @@ clear_with_quad(struct gl_context *ctx, unsigned clear_buffers)
|
|||
CSO_BIT_STREAM_OUTPUTS |
|
||||
CSO_BIT_VERTEX_ELEMENTS |
|
||||
(st->active_queries ? CSO_BIT_PAUSE_QUERIES : 0) |
|
||||
CSO_BITS_ALL_SHADERS));
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BITS_VERTEX_PIPE_SHADERS));
|
||||
|
||||
/* blend state: RGBA masking */
|
||||
{
|
||||
|
|
@ -296,7 +297,6 @@ clear_with_quad(struct gl_context *ctx, unsigned clear_buffers)
|
|||
set_clearcolor_fs(st, (union pipe_color_union*)&ctx->Color.ClearColor);
|
||||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_task_shader_handle(cso, NULL);
|
||||
cso_set_mesh_shader_handle(cso, NULL);
|
||||
|
||||
if (num_layers > 1)
|
||||
|
|
|
|||
|
|
@ -747,7 +747,8 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
|||
CSO_BIT_FRAGMENT_SAMPLERS |
|
||||
CSO_BIT_STREAM_OUTPUTS |
|
||||
CSO_BIT_VERTEX_ELEMENTS |
|
||||
CSO_BITS_ALL_SHADERS);
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BITS_VERTEX_PIPE_SHADERS);
|
||||
if (write_stencil) {
|
||||
cso_state_mask |= (CSO_BIT_DEPTH_STENCIL_ALPHA |
|
||||
CSO_BIT_BLEND);
|
||||
|
|
@ -805,7 +806,6 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
|||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
cso_set_task_shader_handle(cso, NULL);
|
||||
cso_set_mesh_shader_handle(cso, NULL);
|
||||
|
||||
/* user samplers, plus the drawpix samplers */
|
||||
|
|
|
|||
|
|
@ -252,7 +252,6 @@ st_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
|
|||
CSO_BIT_TESSCTRL_SHADER |
|
||||
CSO_BIT_TESSEVAL_SHADER |
|
||||
CSO_BIT_GEOMETRY_SHADER |
|
||||
CSO_BIT_TASK_SHADER |
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BIT_VERTEX_ELEMENTS));
|
||||
|
||||
|
|
@ -263,7 +262,6 @@ st_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
|
|||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
cso_set_task_shader_handle(cso, NULL);
|
||||
cso_set_mesh_shader_handle(cso, NULL);
|
||||
|
||||
for (i = 0; i < numAttribs; i++) {
|
||||
|
|
|
|||
|
|
@ -149,7 +149,8 @@ try_pbo_readpixels(struct st_context *st, struct gl_renderbuffer *rb,
|
|||
CSO_BIT_SAMPLE_MASK |
|
||||
CSO_BIT_MIN_SAMPLES |
|
||||
CSO_BIT_RENDER_CONDITION |
|
||||
CSO_BITS_ALL_SHADERS));
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BITS_VERTEX_PIPE_SHADERS));
|
||||
|
||||
cso_set_sample_mask(cso, ~0);
|
||||
cso_set_min_samples(cso, 1);
|
||||
|
|
|
|||
|
|
@ -1759,7 +1759,8 @@ try_pbo_upload_common(struct gl_context *ctx,
|
|||
CSO_BIT_SAMPLE_MASK |
|
||||
CSO_BIT_MIN_SAMPLES |
|
||||
CSO_BIT_RENDER_CONDITION |
|
||||
CSO_BITS_ALL_SHADERS));
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BITS_VERTEX_PIPE_SHADERS));
|
||||
|
||||
cso_set_sample_mask(cso, ~0);
|
||||
cso_set_min_samples(cso, 1);
|
||||
|
|
@ -2020,7 +2021,8 @@ try_pbo_download(struct st_context *st,
|
|||
CSO_BIT_SAMPLE_MASK |
|
||||
CSO_BIT_MIN_SAMPLES |
|
||||
CSO_BIT_RENDER_CONDITION |
|
||||
CSO_BITS_ALL_SHADERS));
|
||||
CSO_BIT_MESH_SHADER |
|
||||
CSO_BITS_VERTEX_PIPE_SHADERS));
|
||||
|
||||
cso_set_sample_mask(cso, ~0);
|
||||
cso_set_min_samples(cso, 1);
|
||||
|
|
|
|||
|
|
@ -210,7 +210,6 @@ st_pbo_draw(struct st_context *st, const struct st_pbo_addresses *addr,
|
|||
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
|
||||
cso_set_task_shader_handle(cso, NULL);
|
||||
cso_set_mesh_shader_handle(cso, NULL);
|
||||
|
||||
/* Upload vertices */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue