CHROMIUM: Revert "WIP: glretrace: use samples value recorded in trace to set MSAA samples"
This breaks some of our traces.
BUG=b:230794600
TEST=build in borealis and run plague_inc_evolved trace
This reverts commit 81dfede7f193567650894cabf2c54b1d35a370ce.
Change-Id: If8238620394db50b2ea1fe4e40191d538aaa78fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/apitrace/+/3630382
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Po-Hsien Wang <pwang@chromium.org>
Auto-Submit: Po-Hsien Wang <pwang@chromium.org>
Commit-Queue: Po-Hsien Wang <pwang@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
diff --git a/helpers/glfeatures.hpp b/helpers/glfeatures.hpp
index 93910f2..bd23c3a 100644
--- a/helpers/glfeatures.hpp
+++ b/helpers/glfeatures.hpp
@@ -49,7 +49,6 @@
struct Profile {
unsigned major:8;
unsigned minor:8;
- unsigned samples:8;
unsigned api:1;
unsigned core:1;
unsigned forwardCompatible:1;
@@ -65,7 +64,6 @@
api = _api;
major = _major;
minor = _minor;
- samples = 1;
core = _core;
forwardCompatible = _forwardCompatible;
}
diff --git a/retrace/glretrace.hpp b/retrace/glretrace.hpp
index eabe181..83f386c 100644
--- a/retrace/glretrace.hpp
+++ b/retrace/glretrace.hpp
@@ -132,9 +132,6 @@
int
parseAttrib(const trace::Value *attribs, int param, int default_ = 0, int terminator = 0);
-void
-setSamples(trace::Call& call, int samples);
-
glfeatures::Profile
parseContextAttribList(const trace::Value *attribs);
diff --git a/retrace/glretrace_cgl.cpp b/retrace/glretrace_cgl.cpp
index b790665..ce97489 100644
--- a/retrace/glretrace_cgl.cpp
+++ b/retrace/glretrace_cgl.cpp
@@ -90,15 +90,12 @@
typedef std::map<unsigned long long, glws::Drawable *> DrawableMap;
typedef std::map<unsigned long long, Context *> ContextMap;
-typedef std::map<unsigned long long, int> FBConfigMap;
// sid -> Drawable* map
static DrawableMap drawable_map;
static DrawableMap pbuffer_map;
-static FBConfigMap fbconfig_map;
-
// ctx -> Context* map
static ContextMap context_map;
@@ -173,8 +170,6 @@
bool singleBuffer = true;
int profile = 0;
- int sample_buffers = 0;
- int samples = 0;
const trace::Array * attribs = call.arg(0).toArray();
if (attribs) {
@@ -231,18 +226,14 @@
case kCGLPFAStencilSize:
case kCGLPFAAuxBuffers:
case kCGLPFAAccumSize:
+ case kCGLPFASampleBuffers:
+ case kCGLPFASamples:
case kCGLPFARendererID:
case kCGLPFADisplayMask:
case kCGLPFAVirtualScreenCount:
++i;
break;
- case kCGLPFASampleBuffers:
- sample_buffers = attribs->values[i++]->toSInt();
- break;
- case kCGLPFASamples:
- samples = attribs->values[i++]->toSInt();
- break;
case kCGLPFAOpenGLProfile:
profile = attribs->values[i++]->toSInt();
break;
@@ -279,9 +270,6 @@
// XXX: Generalize this, don't override command line options.
retrace::doubleBuffer = !singleBuffer;
- if (sample_buffers && samples > 0)
- pixelFormat->profile.samples = samples;
-
retrace::addObj(call, pix, pixelFormat);
}
diff --git a/retrace/glretrace_egl.cpp b/retrace/glretrace_egl.cpp
index be2244e..e23b67a 100644
--- a/retrace/glretrace_egl.cpp
+++ b/retrace/glretrace_egl.cpp
@@ -146,9 +146,6 @@
}
}
- if (parseAttrib(attrib_array, EGL_SAMPLE_BUFFERS))
- profile.samples = parseAttrib(attrib_array, EGL_SAMPLES);
-
unsigned num_config = num_config_ptr->values[0]->toUInt();
for (unsigned i = 0; i < num_config; ++i) {
unsigned long long orig_config = config_array->values[i]->toUIntPtr();
diff --git a/retrace/glretrace_glx.cpp b/retrace/glretrace_glx.cpp
index d61343a..1464825 100644
--- a/retrace/glretrace_glx.cpp
+++ b/retrace/glretrace_glx.cpp
@@ -32,8 +32,6 @@
#define GLX_PBUFFER_HEIGHT 0x8040
#define GLX_PBUFFER_WIDTH 0x8041
-#define GLX_SAMPLE_BUFFERS_ARB 100000
-#define GLX_SAMPLES_ARB 100001
#endif /* !HAVE_X11 */
@@ -43,11 +41,9 @@
typedef std::map<unsigned long, glws::Drawable *> DrawableMap;
typedef std::map<unsigned long long, Context *> ContextMap;
-typedef std::map<unsigned long long, int> FBConfigMap;
-
static DrawableMap drawable_map;
static ContextMap context_map;
-static FBConfigMap fbconfig_map;
+
static glws::Drawable *
getDrawable(unsigned long drawable_id, Context *ctx) {
@@ -103,9 +99,6 @@
const trace::Value * attrib_list = &call.arg(4);
glfeatures::Profile profile = parseContextAttribList(attrib_list);
- auto it = fbconfig_map.find(call.arg(1).toUInt());
- if (it != fbconfig_map.end())
- profile.samples = it->second;
Context *context = glretrace::createContext(share_context, profile);
context_map[orig_context] = context;
}
@@ -179,14 +172,7 @@
Context *share_context = getContext(call.arg(3).toUIntPtr());
- glfeatures::Profile profile = defaultProfile;
-
- auto it = fbconfig_map.find(call.arg(1).toUInt());
- if (it != fbconfig_map.end())
- profile.samples = it->second;
-
-
- Context *context = glretrace::createContext(share_context, profile);
+ Context *context = glretrace::createContext(share_context);
context_map[orig_context] = context;
}
@@ -231,34 +217,6 @@
glretrace::makeCurrent(call, new_drawable, new_readable, new_context);
}
-static void retrace_glXChooseFBConfig(trace::Call &call) {
- auto attrib_list = call.arg(2).toArray();
- if (!parseAttrib(attrib_list, GLX_SAMPLE_BUFFERS_ARB))
- return;
-
- int samples = parseAttrib(attrib_list, GLX_SAMPLES_ARB);
-
- if (samples > 0) {
- const auto ids = call.ret->toArray();
- for (auto& v : ids->values)
- fbconfig_map[v->toUInt()] = samples;
- }
-}
-
-static void retrace_glXGetFBConfigAttrib(trace::Call &call) {
- if (call.arg(2).toUInt() == GLX_SAMPLES_ARB) {
- auto retval = call.arg(3).toArray();
- if (retval->size() != 1) {
- std::cerr << "Warning: got more than one samples value from glXGetFBConfigAttrib\n";
- }
- if (retval->size() > 0) {
- fbconfig_map[call.arg(1).toUInt()] = retval->values[0]->toUInt();
- } else {
- std::cerr << "Warning: glXGetFBConfigAttrib didn't provide any samples value\n";
- }
- }
-}
-
const retrace::Entry glretrace::glx_callbacks[] = {
//{"glXBindChannelToWindowSGIX", &retrace_glXBindChannelToWindowSGIX},
//{"glXBindSwapBarrierNV", &retrace_glXBindSwapBarrierNV},
@@ -266,7 +224,7 @@
{"glXBindTexImageEXT", &retrace::ignore},
//{"glXChannelRectSGIX", &retrace_glXChannelRectSGIX},
//{"glXChannelRectSyncSGIX", &retrace_glXChannelRectSyncSGIX},
- {"glXChooseFBConfig", &retrace_glXChooseFBConfig},
+ {"glXChooseFBConfig", &retrace::ignore},
{"glXChooseFBConfigSGIX", &retrace::ignore},
{"glXChooseVisual", &retrace::ignore},
//{"glXCopyContext", &retrace_glXCopyContext},
@@ -300,8 +258,8 @@
{"glXGetCurrentDrawable", &retrace::ignore},
{"glXGetCurrentReadDrawable", &retrace::ignore},
{"glXGetCurrentReadDrawableSGI", &retrace::ignore},
- {"glXGetFBConfigAttrib", &retrace_glXGetFBConfigAttrib},
- {"glXGetFBConfigAttribSGIX", &retrace_glXGetFBConfigAttrib},
+ {"glXGetFBConfigAttrib", &retrace::ignore},
+ {"glXGetFBConfigAttribSGIX", &retrace::ignore},
{"glXGetFBConfigFromVisualSGIX", &retrace::ignore},
{"glXGetFBConfigs", &retrace::ignore},
{"glXGetMscRateOML", &retrace::ignore},
diff --git a/retrace/glretrace_wgl.cpp b/retrace/glretrace_wgl.cpp
index c45af68..d3e543e 100644
--- a/retrace/glretrace_wgl.cpp
+++ b/retrace/glretrace_wgl.cpp
@@ -36,12 +36,10 @@
typedef std::map<unsigned long long, glws::Drawable *> DrawableMap;
typedef std::map<unsigned long long, Context *> ContextMap;
-typedef std::map<unsigned long long, int> FBConfigMap;
-
static DrawableMap drawable_map;
static DrawableMap pbuffer_map;
static ContextMap context_map;
-static FBConfigMap fbconfig_map;
+
static glws::Drawable *
getDrawable(unsigned long long hdc) {
@@ -228,8 +226,6 @@
#define WGL_AUX7_ARB 0x208E
#define WGL_AUX8_ARB 0x208F
#define WGL_AUX9_ARB 0x2090
-#define WGL_SAMPLE_BUFFERS_ARB 0x2041
-#define WGL_SAMPLES_ARB 0x2042
static void retrace_wglCreatePbufferARB(trace::Call &call) {
unsigned long long orig_pbuffer = call.ret->toUIntPtr();
@@ -313,10 +309,6 @@
const trace::Value * attribList = &call.arg(2);
glfeatures::Profile profile = parseContextAttribList(attribList);
- auto it = fbconfig_map.find(call.arg(0).toUInt());
- if (it != fbconfig_map.end())
- profile.samples = it->second;
-
Context *context = glretrace::createContext(share_context, profile);
context_map[orig_context] = context;
}
@@ -460,23 +452,14 @@
}
}
-static void retrace_wglChoosePixelFormat(trace::Call &call) {
- auto attrib_list = call.arg(1).toArray();
- if (!parseAttrib(attrib_list, WGL_SAMPLE_BUFFERS_ARB))
- return;
- int samples = parseAttrib(attrib_list, WGL_SAMPLES_ARB);
-
- if (samples > 0)
- fbconfig_map[call.arg(0).toUInt()] = samples;
-}
const retrace::Entry glretrace::wgl_callbacks[] = {
{"glAddSwapHintRectWIN", &retrace::ignore},
{"wglBindTexImageARB", &retrace_wglBindTexImageARB},
- {"wglChoosePixelFormat", &retrace_wglChoosePixelFormat},
- {"wglChoosePixelFormatARB", &retrace_wglChoosePixelFormat},
- {"wglChoosePixelFormatEXT", &retrace_wglChoosePixelFormat},
+ {"wglChoosePixelFormat", &retrace::ignore},
+ {"wglChoosePixelFormatARB", &retrace::ignore},
+ {"wglChoosePixelFormatEXT", &retrace::ignore},
{"wglCreateContext", &retrace_wglCreateContext},
{"wglCreateContextAttribsARB", &retrace_wglCreateContextAttribsARB},
{"wglCreateLayerContext", &retrace_wglCreateLayerContext},
diff --git a/retrace/glretrace_ws.cpp b/retrace/glretrace_ws.cpp
index a11cc50..4ac716c 100644
--- a/retrace/glretrace_ws.cpp
+++ b/retrace/glretrace_ws.cpp
@@ -53,9 +53,7 @@
std::map<glfeatures::Profile, glws::Visual *>::iterator it = visuals.find(profile);
if (it == visuals.end()) {
glws::Visual *visual = NULL;
- unsigned requested_samples = retrace::samples > 1 ? retrace::samples :
- (profile.samples ? profile.samples : 1);
- unsigned samples = requested_samples;
+ unsigned samples = retrace::samples;
/* The requested number of samples might not be available, try fewer until we succeed */
while (!visual && samples > 0) {
visual = glws::createVisual(retrace::doubleBuffer, samples, profile);
@@ -67,8 +65,8 @@
std::cerr << "error: failed to create OpenGL visual\n";
exit(1);
}
- if (samples != requested_samples) {
- std::cerr << "warning: Using " << samples << " samples instead of the requested " << requested_samples << "\n";
+ if (samples != retrace::samples) {
+ std::cerr << "warning: Using " << samples << " samples instead of the requested " << retrace::samples << "\n";
}
visuals[profile] = visual;
return visual;
@@ -302,20 +300,6 @@
return default_;
}
-void
-setSamples(trace::Call& call, int samples)
-{
- if (samples > 0) {
- if (retrace::samples == 1)
- retrace::samples = samples;
- else {
- retrace::warning(call) << "Overriding samples value " << samples
- << " found in trace with command line parameter "
- << retrace::samples << "\n";
- }
- }
-}
-
/**
* Parse GLX/WGL_ARB_create_context attribute list.