示例#1
0
void WrappedOpenGL::glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, void **params)
{
	CoherentMapImplicitBarrier();
	
	// intercept GL_BUFFER_MAP_POINTER queries
	if(pname == eGL_BUFFER_MAP_POINTER)
	{
		GLResourceRecord *record = GetResourceManager()->GetResourceRecord(BufferRes(GetCtx(), buffer));
		RDCASSERT(record);

		if(record)
		{
			if(record->Map.status == GLResourceRecord::Unmapped)
				*params = NULL;
			else
				*params = (void *)record->Map.ptr;
		}
		else
		{
			*params = NULL;
		}
	}
	else
	{
	m_Real.glGetNamedBufferPointervEXT(buffer, pname, params);
	}
}
示例#2
0
void WrappedOpenGL::glGetBufferPointerv(GLenum target, GLenum pname, void **params)
{
	CoherentMapImplicitBarrier();

	// intercept GL_BUFFER_MAP_POINTER queries
	if(pname == eGL_BUFFER_MAP_POINTER)
	{
		GLResourceRecord *record = GetCtxData().m_BufferRecord[BufferIdx(target)];
		RDCASSERT(record);

		if(record)
		{
			if(record->Map.status == GLResourceRecord::Unmapped)
				*params = NULL;
			else
				*params = (void *)record->Map.ptr;
		}
		else
		{
			*params = NULL;
		}
	}
	else
	{
	m_Real.glGetBufferPointerv(target, pname, params);
	}
}
示例#3
0
void WrappedOpenGL::glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint level,
                                                   void *img)
{
  CoherentMapImplicitBarrier();

  m_Real.glGetCompressedTextureImageEXT(texture, target, level, img);
}
示例#4
0
void WrappedOpenGL::glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size,
                                               void *data)
{
  CoherentMapImplicitBarrier();

  m_Real.glGetNamedBufferSubDataEXT(buffer, offset, size, data);
}
示例#5
0
void WrappedOpenGL::glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,
                                  GLenum type, GLsizei bufSize, void *pixels)
{
  CoherentMapImplicitBarrier();

  m_Real.glReadnPixels(x, y, width, height, format, type, bufSize, pixels);
}
示例#6
0
void WrappedOpenGL::glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format,
                                         GLenum type, void *pixels)
{
  CoherentMapImplicitBarrier();

  m_Real.glGetTextureImageEXT(texture, target, level, format, type, pixels);
}
示例#7
0
void WrappedOpenGL::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length,
                                GLint *values)
{
  CoherentMapImplicitBarrier();

  m_Real.glGetSynciv(sync, pname, bufSize, length, values);
}
示例#8
0
void WrappedOpenGL::glGetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type,
                                      GLsizei bufSize, void *pixels)
{
  CoherentMapImplicitBarrier();

  m_Real.glGetTextureImage(texture, level, format, type, bufSize, pixels);
}
示例#9
0
void WrappedOpenGL::glGetCompressedTextureImage(GLuint texture, GLint level, GLsizei bufSize,
                                                void *pixels)
{
  CoherentMapImplicitBarrier();

  m_Real.glGetCompressedTextureImage(texture, level, bufSize, pixels);
}
示例#10
0
void WrappedOpenGL::glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod,
                                                    void *img)
{
  CoherentMapImplicitBarrier();

  m_Real.glGetCompressedMultiTexImageEXT(texunit, target, lod, img);
}
示例#11
0
void WrappedOpenGL::glGetTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset,
                                         GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
                                         GLenum format, GLenum type, GLsizei bufSize, void *pixels)
{
  CoherentMapImplicitBarrier();

  m_Real.glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth,
                              format, type, bufSize, pixels);
}
示例#12
0
void WrappedOpenGL::glBlendBarrierKHR()
{
  CoherentMapImplicitBarrier();

  m_Real.glBlendBarrierKHR();

  if(m_State == WRITING_CAPFRAME)
  {
    SCOPED_SERIALISE_CONTEXT(BLEND_BARRIER);
    Serialise_glBlendBarrierKHR();

    m_ContextRecord->AddChunk(scope.Get());
  }
}
示例#13
0
void WrappedOpenGL::glFinish()
{
	CoherentMapImplicitBarrier();

	m_Real.glFinish();
}
示例#14
0
void WrappedOpenGL::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data)
{
	CoherentMapImplicitBarrier();

	m_Real.glGetBufferSubData(target, offset, size, data);
}
示例#15
0
void WrappedOpenGL::glGetnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void *pixels)
{
	CoherentMapImplicitBarrier();

	m_Real.glGetnCompressedTexImage(target, lod, bufSize, pixels);
}
示例#16
0
void WrappedOpenGL::glGetCompressedTexImage(GLenum target, GLint level, void *img)
{
	CoherentMapImplicitBarrier();

	m_Real.glGetCompressedTexImage(target, level, img);
}