Exemplo n.º 1
0
void PACKSPU_APIENTRY packspu_BarrierCreateCR( GLuint name, GLuint count )
{
	GET_THREAD(thread);
	if (pack_spu.swap)
	{
		crPackBarrierCreateCRSWAP( name, count );
	}
	else
	{
		crPackBarrierCreateCR( name, count );
	}
	packspuFlush( (void *) thread );
}
Exemplo n.º 2
0
/**
 * Create a barrier with the given name and count.  The count indicates
 * how many clients must meet at the barrier before it is released.
 * If count is zero, the crserver will automatically set count to the number
 * of clients currently connected to the server.
 */
void TILESORTSPU_APIENTRY tilesortspu_BarrierCreateCR(GLuint name, GLuint count)
{
	GET_THREAD(thread);
	GLenum dlMode = thread->currentContext->displayListMode;
	/* check if we're compiling a display list, if so, error! */
	if (dlMode != GL_FALSE) {
	    crStateError(__LINE__, __FILE__, GL_INVALID_OPERATION,
		"tilesortspu_BarrierCreateCR called during DL compilation");
	    return;
	}

	tilesortspuFlush( thread );
	if (tilesort_spu.swap)
	{
		crPackBarrierCreateCRSWAP(name,count);
	}
	else
	{
		crPackBarrierCreateCR(name,count);
	}
	tilesortspuBroadcastGeom(0);
	tilesortspuShipBuffers();
}