mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-17 04:10:24 +01:00
asahi: allow vertex/geom/tess side effects
seems to work ok now. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616>
This commit is contained in:
parent
de786a1c5c
commit
de31b28053
2 changed files with 2 additions and 15 deletions
|
|
@ -1823,12 +1823,6 @@ agx_get_shader_param(struct pipe_screen *pscreen, enum pipe_shader_type shader,
|
|||
return false;
|
||||
}
|
||||
|
||||
/* Don't allow side effects with vertex processing. The APIs don't require it
|
||||
* and it may be problematic on our hardware.
|
||||
*/
|
||||
bool allow_side_effects =
|
||||
(shader == PIPE_SHADER_FRAGMENT) || (shader == PIPE_SHADER_COMPUTE);
|
||||
|
||||
/* this is probably not totally correct.. but it's a start: */
|
||||
switch (param) {
|
||||
case PIPE_SHADER_CAP_MAX_INSTRUCTIONS:
|
||||
|
|
@ -1905,10 +1899,10 @@ agx_get_shader_param(struct pipe_screen *pscreen, enum pipe_shader_type shader,
|
|||
return (1 << PIPE_SHADER_IR_NIR);
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
|
||||
return allow_side_effects ? PIPE_MAX_SHADER_BUFFERS : 0;
|
||||
return PIPE_MAX_SHADER_BUFFERS;
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
|
||||
return allow_side_effects ? PIPE_MAX_SHADER_IMAGES : 0;
|
||||
return PIPE_MAX_SHADER_IMAGES;
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS:
|
||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS:
|
||||
|
|
|
|||
|
|
@ -4970,13 +4970,6 @@ agx_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
|
|||
agx_dirty_all(ctx);
|
||||
#endif
|
||||
|
||||
/* We don't support side effects in vertex stages (only used internally for
|
||||
* transform feedback lowering), so this is trivial.
|
||||
*/
|
||||
if (ctx->rast->base.rasterizer_discard &&
|
||||
!ctx->stage[PIPE_SHADER_GEOMETRY].shader)
|
||||
return;
|
||||
|
||||
agx_batch_init_state(batch);
|
||||
|
||||
/* Dirty track the reduced prim: lines vs points vs triangles. Happens before
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue