diff options
| -rw-r--r-- | src/gallium/drivers/nvfx/nvfx_fragprog.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/src/gallium/drivers/nvfx/nvfx_fragprog.c b/src/gallium/drivers/nvfx/nvfx_fragprog.c index 23a85c9342..049b814d49 100644 --- a/src/gallium/drivers/nvfx/nvfx_fragprog.c +++ b/src/gallium/drivers/nvfx/nvfx_fragprog.c @@ -1181,8 +1181,11 @@ nvfx_fragprog_validate(struct nvfx_context *nvfx)  	struct nouveau_channel* chan = nvfx->screen->base.channel;  	struct nvfx_pipe_fragment_program *pfp = nvfx->fragprog;  	struct nvfx_vertex_program* vp; -	unsigned sprite_coord_enable = nvfx->rasterizer->pipe.point_quad_rasterization * nvfx->rasterizer->pipe.sprite_coord_enable; -	// TODO: correct or flipped? +	/* Gallium always puts the point coord in GENERIC[0] +	 * TODO: this is wrong, Gallium needs to be fixed +	 */ +	unsigned sprite_coord_enable = nvfx->rasterizer->pipe.point_quad_rasterization * (nvfx->rasterizer->pipe.sprite_coord_enable | 1); +  	boolean emulate_sprite_flipping = sprite_coord_enable && nvfx->rasterizer->pipe.sprite_coord_mode;  	unsigned key = emulate_sprite_flipping;  	struct nvfx_fragment_program* fp; | 
