mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 17:40:39 +00:00
We need to require GL_ARB_buffer_storage as well as EXT_dsa
This commit is contained in:
+2
-2
@@ -180,8 +180,8 @@
|
||||
</para>
|
||||
<para>
|
||||
For OpenGL RenderDoc will only capture core profile applications, in general, and expects
|
||||
to be able to create a core 4.3 context which includes EXT_direct_state_access. For more
|
||||
details see the <link xlink:href="11ea4311-b9ea-450a-8c80-b510ffc8b1a6">OpenGL</link> page.
|
||||
to be able to create a core 4.3 context which includes EXT_direct_state_access and ARB_buffer_storage.
|
||||
For more details see the <link xlink:href="11ea4311-b9ea-450a-8c80-b510ffc8b1a6">OpenGL</link> page.
|
||||
</para>
|
||||
</content>
|
||||
</section>
|
||||
|
||||
+2
-1
@@ -30,7 +30,8 @@
|
||||
</para>
|
||||
<para>
|
||||
RenderDoc assumes your hardware/software configuration is able to create a core 4.3 context
|
||||
for replay, and also that EXT_direct_state_access is available, both on replay and in capture.
|
||||
for replay, and also that EXT_direct_state_access and ARB_buffer_storage are available, both
|
||||
on replay and in capture.
|
||||
</para>
|
||||
<para>
|
||||
Regarding multiple contexts and multithreading, RenderDoc assumes that all GL commands (with
|
||||
|
||||
@@ -428,7 +428,8 @@ ReplayCreateStatus GL_CreateReplayDevice(const char *logfile, IReplayDriver **dr
|
||||
{
|
||||
// eventually we want to emulate EXT_dsa on replay if it isn't present, but for
|
||||
// now we just require it.
|
||||
bool found = false;
|
||||
bool dsa = false;
|
||||
bool bufstorage = false;
|
||||
|
||||
if(getStr)
|
||||
RDCLOG("Running GL replay on: %s / %s / %s", getStr(eGL_VENDOR), getStr(eGL_RENDERER), getStr(eGL_VERSION));
|
||||
@@ -441,15 +442,18 @@ ReplayCreateStatus GL_CreateReplayDevice(const char *logfile, IReplayDriver **dr
|
||||
|
||||
RDCLOG("Extension % 3d: %s", e, ext);
|
||||
|
||||
if(!strcmp(ext, "GL_EXT_direct_state_access"))
|
||||
{
|
||||
found = true;
|
||||
}
|
||||
if(!strcmp(ext, "GL_EXT_direct_state_access")) dsa = true;
|
||||
if(!strcmp(ext, "GL_ARB_buffer_storage")) bufstorage = true;
|
||||
}
|
||||
|
||||
if(!found)
|
||||
{
|
||||
if(!dsa)
|
||||
RDCERR("RenderDoc requires EXT_direct_state_access availability, and it is not reported. Try updating your drivers.");
|
||||
|
||||
if(!bufstorage)
|
||||
RDCERR("RenderDoc requires ARB_buffer_storage availability, and it is not reported. Try updating your drivers.");
|
||||
|
||||
if(!dsa || !bufstorage)
|
||||
{
|
||||
wglMakeCurrentProc(NULL, NULL);
|
||||
wglDeleteRC(rc);
|
||||
ReleaseDC(w, dc);
|
||||
@@ -483,7 +487,7 @@ ReplayCreateStatus GL_CreateReplayDevice(const char *logfile, IReplayDriver **dr
|
||||
#define CHECK_PRESENT(func) \
|
||||
if(!real.func) \
|
||||
{ \
|
||||
RDCERR("Missing function %s, required for replay. RenderDoc requires a 4.3 context and EXT_direct_state_access", #func); \
|
||||
RDCERR("Missing function %s, required for replay. RenderDoc requires a 4.3 context, EXT_direct_state_access and ARB_buffer_storage", #func); \
|
||||
wglMakeCurrentProc(NULL, NULL); \
|
||||
wglDeleteRC(rc); \
|
||||
ReleaseDC(w, dc); \
|
||||
@@ -721,7 +725,8 @@ CHECK_PRESENT(glViewport)
|
||||
CHECK_PRESENT(glViewportArrayv)
|
||||
CHECK_PRESENT(glViewportIndexedf)
|
||||
|
||||
// these functions should be present as part of EXT_direct_state_access, let's verify
|
||||
// these functions should be present as part of EXT_direct_state_access,
|
||||
// and ARB_buffer_storage. Let's verify
|
||||
CHECK_PRESENT(glCompressedTextureImage1DEXT)
|
||||
CHECK_PRESENT(glCompressedTextureImage2DEXT)
|
||||
CHECK_PRESENT(glCompressedTextureImage3DEXT)
|
||||
@@ -737,12 +742,11 @@ CHECK_PRESENT(glGetTextureParameterfvEXT)
|
||||
CHECK_PRESENT(glGetTextureParameterivEXT)
|
||||
CHECK_PRESENT(glMapNamedBufferEXT)
|
||||
CHECK_PRESENT(glNamedBufferDataEXT)
|
||||
CHECK_PRESENT(glNamedBufferStorageEXT)
|
||||
CHECK_PRESENT(glNamedBufferStorageEXT) // needs ARB_buffer_storage as well
|
||||
CHECK_PRESENT(glNamedBufferSubDataEXT)
|
||||
CHECK_PRESENT(glNamedFramebufferRenderbufferEXT)
|
||||
CHECK_PRESENT(glNamedFramebufferTextureEXT)
|
||||
CHECK_PRESENT(glNamedFramebufferTextureLayerEXT)
|
||||
CHECK_PRESENT(glTextureBufferRangeEXT)
|
||||
CHECK_PRESENT(glTextureImage1DEXT)
|
||||
CHECK_PRESENT(glTextureImage2DEXT)
|
||||
CHECK_PRESENT(glTextureImage3DEXT)
|
||||
|
||||
Reference in New Issue
Block a user