1 #include "nvfx_context.h"
4 nvfx_state_scissor_validate(struct nvfx_context
*nvfx
)
6 struct nouveau_channel
*chan
= nvfx
->screen
->base
.channel
;
7 struct pipe_rasterizer_state
*rast
= &nvfx
->rasterizer
->pipe
;
8 struct pipe_scissor_state
*s
= &nvfx
->scissor
;
10 if ((rast
->scissor
== 0 && nvfx
->state
.scissor_enabled
== 0))
12 nvfx
->state
.scissor_enabled
= rast
->scissor
;
15 OUT_RING(chan
, RING_3D(NV34TCL_SCISSOR_HORIZ
, 2));
16 if (nvfx
->state
.scissor_enabled
) {
17 OUT_RING(chan
, ((s
->maxx
- s
->minx
) << 16) | s
->minx
);
18 OUT_RING(chan
, ((s
->maxy
- s
->miny
) << 16) | s
->miny
);
20 OUT_RING(chan
, 4096 << 16);
21 OUT_RING(chan
, 4096 << 16);