Vladimír Vondruš
79c3519045
Vk: add driver workaround scaffolding and the first one for SwiftShader.
...
Yay? It's funny, what produces correct result causes validation errors.
I suppose this will be very similar for all other workarounds.
5 years ago
Vladimír Vondruš
3d136503d8
Updated copyright year.
5 years ago
erikwijmans
015985016c
Add a nv-egl-crashy-query-device-attrib workaround.
5 years ago
Vladimír Vondruš
6feb5a4cab
GL: fix compilation on macOS + ANGLE.
6 years ago
Vladimír Vondruš
5f1fd752fa
GL: no need to have those in a std::vector<std::string>.
...
Allocations are bad. Needless allocations are worse. Needless
allocations forced on library load are the worst.
6 years ago
Vladimír Vondruš
19e0e96d74
Updated copyright year.
6 years ago
Vladimír Vondruš
0cd72b1883
GL: give up and disable ARB_explicit_uniform_location on Intel Windows.
...
SIGH FFS.
6 years ago
Vladimír Vondruš
5c10d6eb1e
GL: implemented ARB_pipeline_statistics_query from GL 4.6.
...
Need this for the upcoming FrameProfiler.
6 years ago
Vladimír Vondruš
24cc971b1f
GL: reworked apple-buffer-texture-unbind-on-buffer-modify workaround.
...
Much smaller, nicer and more robust.
6 years ago
Vladimír Vondruš
e97b04f66d
GL: new apple-buffer-texture-detach-on-data-modify workaround.
6 years ago
Vladimír Vondruš
34261840bc
GL: expand ARB_DSA blacklisting on Intel Windows drivers a bit further.
...
This should finally fix all remaining Intel Windows driver issues.
Hopefully. Or at least until the next major driver update.
6 years ago
Vladimír Vondruš
a29cb46549
GL: give up and disable DSA for everything buffer-related on Intel/Windows.
...
Sad.
7 years ago
Vladimír Vondruš
507c5bf739
GL: remove the nv-egl-forward-compatible-context-unhappy workaround.
...
This was my bug, as requesting a forward-compatible context without
saying *what* version it should be forward compatible to makes no sense.
A followup to 73baab69ce .
7 years ago
Vladimír Vondruš
3629af231b
GL: new amd-windows-broken-dsa-cubemap-copy workaround.
7 years ago
Vladimír Vondruš
9fa87652e6
GL: new amd-windows-dsa-createquery-except-xfb-overflow workaround.
7 years ago
Vladimír Vondruš
ca326fdb18
GL: pile on more workarounds for CubeMapTexture DSA code paths.
...
Ugh why this has to be SO TERRIBLE. I'm starting to have extremely low
expectations for similar parts of Vulkan drivers by the same vendors.
7 years ago
Vladimír Vondruš
60c18f93a1
GL: implement time queries for WebGL 2, and workarounds, and ...
...
There's a new firefox-fake-disjoint-timer-query-webgl2 workaround and a
half-page of text listing various caveats and issues you might run into.
Also exposing them in the OpenGLTester (although quite shitty at this
point).
7 years ago
Vladimír Vondruš
65b589f765
New explicit-uniform-location-is-less-explicit-than-you-hoped workaround.
...
Intel drivers on Windows. Surprisingly unsurprising.
7 years ago
Vladimír Vondruš
4e218d3f24
Platform: new nv-egl-forward-compatible-context-unhappy workaround.
...
SIGH. WHY CAN'T WE HAVE NICE THINGS.
7 years ago
Vladimír Vondruš
67bdc1bbd4
GL: make the ApiTrace viewport workaround no longer silent.
7 years ago
Vladimír Vondruš
3626562e1d
Adapted to Corrade changes.
...
Mostly missing includes now.
7 years ago
Vladimír Vondruš
927b75efaf
GL: this internal API always takes a C string anyway.
7 years ago
Vladimír Vondruš
b7d9171b54
GL: disable EXT_disjoint_timer_query on ARM Mali in a shell.
7 years ago
Vladimír Vondruš
6c5d037005
GL: detecting ARM Mali drivers on Android.
7 years ago
Vladimír Vondruš
e5a8191b70
GL: fix line wrapping, mention Chromium bug zoo as well.
7 years ago
Vladimír Vondruš
689fbe7f35
GL: unindent the workaround list so it shows better in the docs.
7 years ago
Vladimír Vondruš
094ea1bbd0
GL: new "intel-windows-broken-dsa-integer-vertex-attributes" workaround.
7 years ago
Vladimír Vondruš
3c1a12c677
GL: new "intel-windows-broken-dsa-indexed-queries" workaround.
7 years ago
Vladimír Vondruš
174e63e8d0
GL: new "intel-windows-broken-dsa-framebuffer-clear" workaround.
...
I'm too lazy to write the commit messages now.
7 years ago
Vladimír Vondruš
89e1c49d2c
GL: "intel-windows-broken-dsa-layered-cubemap-array-framebuffer-attachment".
...
New workaround. The names are getting too effing long.
7 years ago
Vladimír Vondruš
f9c6deae63
GL: new "intel-windows-half-baked-dsa-texture-bind" workaround.
...
This is broken as well, in a novel and interesting way. Haha.
7 years ago
Vladimír Vondruš
580a3c5553
GL: new "intel-windows-broken-dsa-for-cubemaps" workaround.
...
Fixes everything related to cube maps when ARB_DSA is used.
7 years ago
Vladimír Vondruš
ece6eef5a4
GL: new "intel-windows-buggy-dsa-bufferdata-for-index-buffers" workaround.
...
This is getting ridiculous, heh.
7 years ago
Vladimír Vondruš
c8a872ef68
GL: minor cleanup.
7 years ago
Vladimír Vondruš
796bdb6731
GL: new pseudo-extension MAGNUM_shader_vertex_id.
...
Will be used to distinguish if the driver supports gl_VertexID. This is
not the case on SwiftShader ES3 contexts (and could be elsewhere,
probably).
7 years ago
Vladimír Vondruš
3d08c641d8
GL: yet another workaround for SwiftShader, now with XFB buffer bindings.
7 years ago
Vladimír Vondruš
24210a00f9
GL: disable ANGLE_instanced_arrays and OES_texture_3D on ES2 SwiftShader.
...
Turns out the extensions are advertised but the ANGLE-suffixed and
OES-suffixed entrypoints are missing, leading to crashes.
7 years ago
Vladimír Vondruš
1ae982020d
GL: detect ANGLE using the renderer string on non-WebGL platforms.
...
No need to use such hacks there.
7 years ago
Vladimír Vondruš
b76d1226e0
GL: detect SwiftShader.
7 years ago
Vladimír Vondruš
d9e7b3c384
GL: added *Framebuffer::implementationColorRead{Format,Type}().
...
Long overdue. Also wow, the drivers ARE SHIT.
7 years ago
Vladimír Vondruš
87e842934b
GL: new nv-egl-incorrect-gl11-function-pointers workaround.
...
This one explicitly loads GL 1.0 and 1.0 function pointers on EGL
contexts on NVidia drivers (Linux headless boxes), because somehow the
usual statically linked functions don't behave correctly.
7 years ago
Vladimír Vondruš
e6b7aa12fa
Updated copyright year.
7 years ago
Vladimír Vondruš
bc5c1df2e6
GL: implemented Renderer::lineWidthRange().
8 years ago
Vladimír Vondruš
3b2c4ca5e5
Platform: make WindowlessEglApplication working with SwiftShader.
...
There's much more to work around / fix, but this is a start. First we
need to create the context with a pbuffer, otherwise eglMakeCurrent()
crashes deep inside. Second, it doesn't treat EGL_CONTEXT_FLAGS_KHR as a
bitfield, so it blows up when encountering a combination of zero flags.
In that case we're simply not sending the flags there. This would also
blow up when there's more than one flag passed, but there's just one
flag for debug context at the moment, so shouldn't be a problem.
8 years ago
Vladimír Vondruš
fbe52532f6
Split the OpenGL layer out, pt 16: {Extensions::GL => GL::Extensions}.
...
Was Magnum::GL::Extensions::GL before and the redundancy was completely
unnecessary. Potential future extensions coming from GLX, EGL or whatnot
will most probably be in the Platform namespace in a completely separate
file, so this is not a problem.
All code internal to the GL library is affected, not much the outside,
as that is handled by the compatibility alias.
8 years ago
Vladimír Vondruš
9dcaf23389
Split the OpenGL layer out, pt 4: new Magnum::GL namespace.
...
At the moment just the GL library itself w/o the tests, and without
backwards compatibility aliases. The following types were left in the
root namespace, despite being in the GL/ directory, as they will get
moved back soon:
* Image, CompressedImage and their dimensional typedefs
* ImageView, CompressedImageView and their dimensional typedefs
* PixelStorage
Not PixelFormat etc., that one will stay in the GL namespace and a
completely new PixelFormat enum will be provided in the root namespace.
8 years ago
Vladimír Vondruš
fc1b167bff
Split the OpenGL layer out, pt 1: moving files to a new location.
...
Minimal updates (just the include guards) so Git is hopefully able to
detect the rename and track the history properly.
Everything except Magnum::GL doesn't compile now.
8 years ago
Vladimír Vondruš
68dca658c5
doc: better documented GL driver workarounds and how to add them.
8 years ago
Vladimír Vondruš
fff756ad06
Work around issue with Unicode shaders with threaded Emscripten.
8 years ago
Vladimír Vondruš
623fa97970
Updated copyright year.
8 years ago