gceSTATUS status;
gctBOOL needCopy;
+ struct _gcoCMDBUF _nextCMDBUF;
struct _gcoCMDBUF _commandBufferObject;
gcoCMDBUF currentCMDBUF;
gcoCMDBUF currentCMDBUFUser = CommandBufferListHead;
{
gcoCMDBUF nextCMDBUFUser;
gcoCMDBUF nextCMDBUF;
- struct _gcoCMDBUF _nextCMDBUF;
gctUINT8_PTR fenceLogical = gcvNULL;
gctUINT8_PTR linkLogical;
- gctUINT32 linkBytes;
+ gctUINT32 linkBytes = 8;
gctUINT32 linkLow;
gctUINT32 linkHigh;
/* Fill NOPs in space reserved for fence. */
while (i--)
{
- gctSIZE_T nopBytes;
+ gctSIZE_T nopBytes = 8;
gcmkONERROR(gckHARDWARE_Nop(Command->kernel->hardware, fenceLogical, &nopBytes));
fenceLogical += nopBytes;
}
do
{
gctBOOL haveFETasks;
- gctUINT queueSize;
+ gctUINT queueSize = 0;
gcsVGCMDQUEUE_PTR mappedQueue=gcvNULL;
gcsVGCMDQUEUE_PTR userEntry=gcvNULL;
gcsKERNEL_CMDQUEUE_PTR kernelEntry;
Command, currentLength
));
}
+ }
+ while (gcvFALSE);
-
+ if (mappedQueue)
+ {
if(!needCopy)
{
/* Unmap the user command buffer. */
gcmkERR_BREAK(gckOS_Free(Command->os, mappedQueue));
}
}
- while (gcvFALSE);
/* Release the mutex. */
gcmkCHECK_STATUS(gckOS_ReleaseMutex(