r600: ensure we have enough room for full state emit
full state is roughly 4000 dwords, but will vary depending on the rendering. Also fix some warnings.
This commit is contained in:
@@ -483,8 +483,9 @@ struct radeon_cs_manager * r600_radeon_cs_manager_legacy_ctor(struct radeon_cont
|
||||
void r600InitCmdBuf(context_t *r600) /* from rcommonInitCmdBuf */
|
||||
{
|
||||
radeonContextPtr rmesa = &r600->radeon;
|
||||
|
||||
GLuint size;
|
||||
rmesa->hw.max_state_size = 4000; /* rough estimate */
|
||||
|
||||
/* Initialize command buffer */
|
||||
size = 256 * driQueryOptioni(&rmesa->optionCache,
|
||||
"command_buffer_size");
|
||||
|
||||
@@ -262,15 +262,12 @@ void * r700GetActiveFpShaderBo(GLcontext * ctx)
|
||||
GLboolean r700SetupFragmentProgram(GLcontext * ctx)
|
||||
{
|
||||
context_t *context = R700_CONTEXT(ctx);
|
||||
BATCH_LOCALS(&context->radeon);
|
||||
R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
|
||||
|
||||
struct r700_fragment_program *fp = (struct r700_fragment_program *)
|
||||
(ctx->FragmentProgram._Current);
|
||||
r700_AssemblerBase *pAsm = &(fp->r700AsmCode);
|
||||
struct gl_fragment_program *mesa_fp = &(fp->mesa_program);
|
||||
struct gl_program_parameter_list *paramList;
|
||||
unsigned int unNumParamData;
|
||||
unsigned int ui, i;
|
||||
unsigned int unNumOfReg;
|
||||
unsigned int unBit;
|
||||
@@ -398,7 +395,6 @@ GLboolean r700SendPSConstants(GLcontext * ctx)
|
||||
{
|
||||
context_t *context = R700_CONTEXT(ctx);
|
||||
BATCH_LOCALS(&context->radeon);
|
||||
R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
|
||||
struct r700_fragment_program *fp = (struct r700_fragment_program *)
|
||||
(ctx->FragmentProgram._Current);
|
||||
struct gl_program_parameter_list *paramList;
|
||||
|
||||
@@ -277,6 +277,9 @@ void r700EmitState(GLcontext * ctx)
|
||||
{
|
||||
context_t *context = R700_CONTEXT(ctx);
|
||||
|
||||
rcommonEnsureCmdBufSpace(&context->radeon,
|
||||
context->radeon.hw.max_state_size, __FUNCTION__);
|
||||
|
||||
r700Start3D(context);
|
||||
r700SendSQConfig(context);
|
||||
r700SendFSState(context); // FIXME just a place holder for now
|
||||
|
||||
@@ -335,18 +335,12 @@ void * r700GetActiveVpShaderBo(GLcontext * ctx)
|
||||
GLboolean r700SetupVertexProgram(GLcontext * ctx)
|
||||
{
|
||||
context_t *context = R700_CONTEXT(ctx);
|
||||
|
||||
BATCH_LOCALS(&context->radeon);
|
||||
|
||||
R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
|
||||
|
||||
struct r700_vertex_program *vp
|
||||
= (struct r700_vertex_program *)ctx->VertexProgram._Current;
|
||||
|
||||
struct gl_program_parameter_list *paramList;
|
||||
unsigned int unNumParamData;
|
||||
|
||||
unsigned int ui;
|
||||
|
||||
if(GL_FALSE == vp->loaded)
|
||||
{
|
||||
@@ -400,7 +394,6 @@ GLboolean r700SendVSConstants(GLcontext * ctx)
|
||||
{
|
||||
context_t *context = R700_CONTEXT(ctx);
|
||||
BATCH_LOCALS(&context->radeon);
|
||||
R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
|
||||
struct r700_vertex_program *vp
|
||||
= (struct r700_vertex_program *)ctx->VertexProgram._Current;
|
||||
struct gl_program_parameter_list *paramList;
|
||||
|
||||
Reference in New Issue
Block a user