mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 11:30:21 +01:00
draw: associate rhw divide with clipping not viewport flag
This commit is contained in:
parent
4b1377b240
commit
52f40dcc46
3 changed files with 18 additions and 18 deletions
|
|
@ -143,6 +143,12 @@ vs_exec_run( struct draw_vertex_shader *shader,
|
|||
|
||||
if (!draw->rasterizer->bypass_clipping) {
|
||||
vOut[j]->clipmask = compute_clipmask(vOut[j]->clip, draw->plane, draw->nr_planes);
|
||||
|
||||
/* divide by w */
|
||||
w = 1.0f / w;
|
||||
x *= w;
|
||||
y *= w;
|
||||
z *= w;
|
||||
}
|
||||
else {
|
||||
vOut[j]->clipmask = 0;
|
||||
|
|
@ -150,12 +156,6 @@ vs_exec_run( struct draw_vertex_shader *shader,
|
|||
vOut[j]->edgeflag = 1;
|
||||
|
||||
if (!draw->identity_viewport) {
|
||||
/* divide by w */
|
||||
w = 1.0f / w;
|
||||
x *= w;
|
||||
y *= w;
|
||||
z *= w;
|
||||
|
||||
/* Viewport mapping */
|
||||
vOut[j]->data[0][0] = x * scale[0] + trans[0];
|
||||
vOut[j]->data[0][1] = y * scale[1] + trans[1];
|
||||
|
|
|
|||
|
|
@ -153,6 +153,12 @@ vs_llvm_run( struct draw_vertex_shader *base,
|
|||
|
||||
if (!draw->rasterizer->bypass_clipping) {
|
||||
vOut[j]->clipmask = compute_clipmask(vOut[j]->clip, draw->plane, draw->nr_planes);
|
||||
|
||||
/* divide by w */
|
||||
w = 1.0f / w;
|
||||
x *= w;
|
||||
y *= w;
|
||||
z *= w;
|
||||
}
|
||||
else {
|
||||
vOut[j]->clipmask = 0;
|
||||
|
|
@ -160,12 +166,6 @@ vs_llvm_run( struct draw_vertex_shader *base,
|
|||
vOut[j]->edgeflag = 1;
|
||||
|
||||
if (!draw->identity_viewport) {
|
||||
/* divide by w */
|
||||
w = 1.0f / w;
|
||||
x *= w;
|
||||
y *= w;
|
||||
z *= w;
|
||||
|
||||
/* Viewport mapping */
|
||||
vOut[j]->data[0][0] = x * scale[0] + trans[0];
|
||||
vOut[j]->data[0][1] = y * scale[1] + trans[1];
|
||||
|
|
|
|||
|
|
@ -168,6 +168,12 @@ vs_sse_run( struct draw_vertex_shader *base,
|
|||
|
||||
if (!draw->rasterizer->bypass_clipping) {
|
||||
vOut[j]->clipmask = compute_clipmask(vOut[j]->clip, draw->plane, draw->nr_planes);
|
||||
|
||||
/* divide by w */
|
||||
w = 1.0f / w;
|
||||
x *= w;
|
||||
y *= w;
|
||||
z *= w;
|
||||
}
|
||||
else {
|
||||
vOut[j]->clipmask = 0;
|
||||
|
|
@ -175,12 +181,6 @@ vs_sse_run( struct draw_vertex_shader *base,
|
|||
vOut[j]->edgeflag = 1;
|
||||
|
||||
if (!draw->identity_viewport) {
|
||||
/* divide by w */
|
||||
w = 1.0f / w;
|
||||
x *= w;
|
||||
y *= w;
|
||||
z *= w;
|
||||
|
||||
/* Viewport mapping */
|
||||
vOut[j]->data[0][0] = x * scale[0] + trans[0];
|
||||
vOut[j]->data[0][1] = y * scale[1] + trans[1];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue