From fdcc8c92341fabea78437ea43c31687bcebdf6bc Mon Sep 17 00:00:00 2001 From: Andre Maasikas Date: Wed, 10 Feb 2010 13:20:23 +0200 Subject: [PATCH] r600: support GL_SHORT attributes normalization seems to work with this setting. .. on all chips ? --- src/mesa/drivers/dri/r600/r600_context.h | 2 +- src/mesa/drivers/dri/r600/r700_assembler.c | 4 ++-- src/mesa/drivers/dri/r600/r700_assembler.h | 2 +- src/mesa/drivers/dri/r600/r700_chip.c | 12 ++++++------ src/mesa/drivers/dri/r600/r700_vertprog.c | 12 ++++++------ 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/mesa/drivers/dri/r600/r600_context.h b/src/mesa/drivers/dri/r600/r600_context.h index 72c8c86..b6a7bf2 100644 --- a/src/mesa/drivers/dri/r600/r600_context.h +++ b/src/mesa/drivers/dri/r600/r600_context.h @@ -116,7 +116,7 @@ typedef struct StreamDesc GLuint dwords; GLuint dst_loc; GLuint _signed; - GLboolean normalize; + GLboolean normalized; GLboolean is_named_bo; GLubyte element; } StreamDesc; diff --git a/src/mesa/drivers/dri/r600/r700_assembler.c b/src/mesa/drivers/dri/r600/r700_assembler.c index 89adb77..caeea5e 100644 --- a/src/mesa/drivers/dri/r600/r700_assembler.c +++ b/src/mesa/drivers/dri/r600/r700_assembler.c @@ -890,7 +890,7 @@ GLboolean assemble_vfetch_instruction2(r700_AssemblerBase* pAsm, GLint size, GLubyte element, GLuint _signed, - GLboolean normalize, + GLboolean normalized, GLenum format, VTX_FETCH_METHOD * pFetchMethod) { @@ -969,7 +969,7 @@ GLboolean assemble_vfetch_instruction2(r700_AssemblerBase* pAsm, vfetch_instruction_ptr->m_Word1.f.format_comp_all = SQ_FORMAT_COMP_UNSIGNED; } - if(GL_TRUE == normalize) + if(GL_TRUE == normalized) { vfetch_instruction_ptr->m_Word1.f.num_format_all = SQ_NUM_FORMAT_NORM; } diff --git a/src/mesa/drivers/dri/r600/r700_assembler.h b/src/mesa/drivers/dri/r600/r700_assembler.h index 0064d08..733f089 100644 --- a/src/mesa/drivers/dri/r600/r700_assembler.h +++ b/src/mesa/drivers/dri/r600/r700_assembler.h @@ -532,7 +532,7 @@ GLboolean assemble_vfetch_instruction2(r700_AssemblerBase* pAsm, GLint size, GLubyte element, GLuint _signed, - GLboolean normalize, + GLboolean normalized, GLenum format, VTX_FETCH_METHOD * pFetchMethod); GLboolean cleanup_vfetch_instructions(r700_AssemblerBase* pAsm); diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c index e0be749..c683f28 100644 --- a/src/mesa/drivers/dri/r600/r700_chip.c +++ b/src/mesa/drivers/dri/r600/r700_chip.c @@ -213,16 +213,16 @@ static void r700SetupVTXConstants(GLcontext * ctx, SQ_VTX_CONSTANT_WORD2_0__DATA_FORMAT_shift, SQ_VTX_CONSTANT_WORD2_0__DATA_FORMAT_mask); /* TODO : trace back api for initial data type, not only GL_FLOAT */ - if(GL_TRUE == pStreamDesc->normalize) + if(GL_TRUE == pStreamDesc->normalized) { SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_NORM, SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask); } - //else - //{ - // SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_INT, - // SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask); - //} + else + { + SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_SCALED, + SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask); + } if(1 == pStreamDesc->_signed) { diff --git a/src/mesa/drivers/dri/r600/r700_vertprog.c b/src/mesa/drivers/dri/r600/r700_vertprog.c index 618f7e1..97eb9b6 100644 --- a/src/mesa/drivers/dri/r600/r700_vertprog.c +++ b/src/mesa/drivers/dri/r600/r700_vertprog.c @@ -188,7 +188,7 @@ GLboolean Process_Vertex_Program_Vfetch_Instructions2( context->stream_desc[i].size, context->stream_desc[i].element, context->stream_desc[i]._signed, - context->stream_desc[i].normalize, + context->stream_desc[i].normalized, context->stream_desc[i].format, &vtxFetchMethod); } @@ -507,23 +507,23 @@ static void r700TranslateAttrib(GLcontext *ctx, GLuint unLoc, int count, const s { //GetSurfaceFormat case GL_FLOAT: pStreamDesc->_signed = 0; - pStreamDesc->normalize = GL_FALSE; + pStreamDesc->normalized = GL_FALSE; break; case GL_SHORT: pStreamDesc->_signed = 1; - pStreamDesc->normalize = input->Normalized; + pStreamDesc->normalized = input->Normalized; break; case GL_BYTE: pStreamDesc->_signed = 1; - pStreamDesc->normalize = input->Normalized; + pStreamDesc->normalized = input->Normalized; break; case GL_UNSIGNED_SHORT: pStreamDesc->_signed = 0; - pStreamDesc->normalize = input->Normalized; + pStreamDesc->normalized = input->Normalized; break; case GL_UNSIGNED_BYTE: pStreamDesc->_signed = 0; - pStreamDesc->normalize = input->Normalized; + pStreamDesc->normalized = input->Normalized; break; default: case GL_INT: -- 1.6.5.2