diff options
author | Nicolai Haehnle <[email protected]> | 2008-06-01 19:53:52 +0200 |
---|---|---|
committer | Nicolai Haehnle <[email protected]> | 2008-06-01 19:59:42 +0200 |
commit | c9ea62444c6969da8706ea88e12df8c458a6acce (patch) | |
tree | 2241ec0f38333c34382c3d0f70952fa8f4d805c8 /src/mesa/drivers/dri/r300/r300_fragprog.c | |
parent | d9c7c5f071f5bf2a7516d877c9ab84b2b2b91779 (diff) |
r300: Writing to result.depth in fragment programs (R3xx; only stub for R5xx)
Setup fg_depth_src for depth writing programs and change early Z (ztop)
semantics.
Piglit's version of glean/fragprog test passes now (unlike Glean, its
dependency on EXT_fog_coord, which we don't support, is optional).
R3xx only at the moment, but should be straightforward to adapt to R5xx
(I don't own an R5xx, and I don't want to break anything.)
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_fragprog.c')
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_fragprog.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_fragprog.c b/src/mesa/drivers/dri/r300/r300_fragprog.c index ac45da44049..54b80d20a16 100644 --- a/src/mesa/drivers/dri/r300/r300_fragprog.c +++ b/src/mesa/drivers/dri/r300/r300_fragprog.c @@ -862,6 +862,7 @@ static int t_hw_dst(struct r300_fragment_program *fp, R300_RGBA_OUT; break; case FRAG_RESULT_DEPR: + fp->WritesDepth = GL_TRUE; fp->node[fp->cur_node].flags |= R300_W_OUT; break; @@ -2105,6 +2106,7 @@ static void init_program(r300ContextPtr r300, struct r300_fragment_program *fp) fp->translated = GL_FALSE; fp->error = GL_FALSE; fp->cs = cs = &(R300_CONTEXT(fp->ctx)->state.pfs_compile); + fp->WritesDepth = GL_FALSE; fp->tex.length = 0; fp->cur_node = 0; fp->first_node_has_tex = 0; |