delete context;
}
+static void retrace_glXCopySubBufferMESA(trace::Call &call) {
+ glws::Drawable *drawable = getDrawable(call.arg(1).toUInt());
+ int x = call.arg(2).toSInt();
+ int y = call.arg(3).toSInt();
+ int width = call.arg(4).toSInt();
+ int height = call.arg(5).toSInt();
+
+ drawable->copySubBuffer(x, y, width, height);
+}
+
static void retrace_glXSwapBuffers(trace::Call &call) {
glws::Drawable *drawable = getDrawable(call.arg(1).toUInt());
}
static void retrace_glXCreatePbuffer(trace::Call &call) {
- const trace::Value *attrib_list = dynamic_cast<const trace::Array *>(&call.arg(2));
+ const trace::Value *attrib_list = call.arg(2).toArray();
int width = glretrace::parseAttrib(attrib_list, GLX_PBUFFER_WIDTH, 0);
int height = glretrace::parseAttrib(attrib_list, GLX_PBUFFER_HEIGHT, 0);
unsigned long long orig_drawable = call.ret->toUInt();
- glws::Drawable *drawable = glretrace::createDrawable();
+ glws::Drawable *drawable = glretrace::createPbuffer(width, height);
- drawable->resize(width, height);
- drawable->show();
-
drawable_map[orig_drawable] = drawable;
}
//{"glXBindChannelToWindowSGIX", &retrace_glXBindChannelToWindowSGIX},
//{"glXBindSwapBarrierNV", &retrace_glXBindSwapBarrierNV},
//{"glXBindSwapBarrierSGIX", &retrace_glXBindSwapBarrierSGIX},
- //{"glXBindTexImageEXT", &retrace_glXBindTexImageEXT},
+ {"glXBindTexImageEXT", &retrace::ignore},
//{"glXChannelRectSGIX", &retrace_glXChannelRectSGIX},
//{"glXChannelRectSyncSGIX", &retrace_glXChannelRectSyncSGIX},
{"glXChooseFBConfig", &retrace::ignore},
{"glXChooseVisual", &retrace::ignore},
//{"glXCopyContext", &retrace_glXCopyContext},
//{"glXCopyImageSubDataNV", &retrace_glXCopyImageSubDataNV},
- //{"glXCopySubBufferMESA", &retrace_glXCopySubBufferMESA},
+ {"glXCopySubBufferMESA", &retrace_glXCopySubBufferMESA},
{"glXCreateContextAttribsARB", &retrace_glXCreateContextAttribsARB},
{"glXCreateContext", &retrace_glXCreateContext},
//{"glXCreateContextWithConfigSGIX", &retrace_glXCreateContextWithConfigSGIX},
//{"glXCreateGLXPixmapWithConfigSGIX", &retrace_glXCreateGLXPixmapWithConfigSGIX},
{"glXCreateNewContext", &retrace_glXCreateNewContext},
{"glXCreatePbuffer", &retrace_glXCreatePbuffer},
- //{"glXCreatePixmap", &retrace_glXCreatePixmap},
+ {"glXCreatePixmap", &retrace::ignore},
//{"glXCreateWindow", &retrace_glXCreateWindow},
//{"glXCushionSGI", &retrace_glXCushionSGI},
{"glXDestroyContext", &retrace_glXDestroyContext},
//{"glXDestroyGLXPbufferSGIX", &retrace_glXDestroyGLXPbufferSGIX},
//{"glXDestroyGLXPixmap", &retrace_glXDestroyGLXPixmap},
{"glXDestroyPbuffer", &retrace_glXDestroyPbuffer},
- //{"glXDestroyPixmap", &retrace_glXDestroyPixmap},
+ {"glXDestroyPixmap", &retrace::ignore},
//{"glXDestroyWindow", &retrace_glXDestroyWindow},
//{"glXFreeContextEXT", &retrace_glXFreeContextEXT},
{"glXGetAGPOffsetMESA", &retrace::ignore},
{"glXQuerySwapGroupNV", &retrace::ignore},
{"glXQueryVersion", &retrace::ignore},
//{"glXReleaseBuffersMESA", &retrace_glXReleaseBuffersMESA},
- //{"glXReleaseTexImageEXT", &retrace_glXReleaseTexImageEXT},
+ {"glXReleaseTexImageEXT", &retrace::ignore},
//{"glXResetFrameCountNV", &retrace_glXResetFrameCountNV},
//{"glXSelectEvent", &retrace_glXSelectEvent},
//{"glXSelectEventSGIX", &retrace_glXSelectEventSGIX},