1 #include "nvfx_context.h"
4 nvfx_state_viewport_validate(struct nvfx_context
*nvfx
)
6 struct nouveau_channel
*chan
= nvfx
->screen
->base
.channel
;
7 struct pipe_viewport_state
*vpt
= &nvfx
->viewport
;
10 if(nvfx
->render_mode
== HW
) {
11 OUT_RING(chan
, RING_3D(NV34TCL_VIEWPORT_TRANSLATE_X
, 8));
12 OUT_RINGf(chan
, vpt
->translate
[0]);
13 OUT_RINGf(chan
, vpt
->translate
[1]);
14 OUT_RINGf(chan
, vpt
->translate
[2]);
15 OUT_RINGf(chan
, vpt
->translate
[3]);
16 OUT_RINGf(chan
, vpt
->scale
[0]);
17 OUT_RINGf(chan
, vpt
->scale
[1]);
18 OUT_RINGf(chan
, vpt
->scale
[2]);
19 OUT_RINGf(chan
, vpt
->scale
[3]);
20 OUT_RING(chan
, RING_3D(0x1d78, 1));
23 OUT_RING(chan
, RING_3D(NV34TCL_VIEWPORT_TRANSLATE_X
, 8));
24 OUT_RINGf(chan
, 0.0f
);
25 OUT_RINGf(chan
, 0.0f
);
26 OUT_RINGf(chan
, 0.0f
);
27 OUT_RINGf(chan
, 0.0f
);
28 OUT_RINGf(chan
, 1.0f
);
29 OUT_RINGf(chan
, 1.0f
);
30 OUT_RINGf(chan
, 1.0f
);
31 OUT_RINGf(chan
, 1.0f
);
32 OUT_RING(chan
, RING_3D(0x1d78, 1));
33 OUT_RING(chan
, nvfx
->is_nv4x
? 0x110 : 1);