-
-
Notifications
You must be signed in to change notification settings - Fork 83
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make appropriate changes as Mesa3D now supports OpenGL 3.1 in compatibility context
- Loading branch information
Showing
6 changed files
with
49 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,33 @@ | ||
Here are some examples on how to manually configure GL context and one that shows how to use swr instead of | ||
llvmpipe. This is required for most applications using OpenGL 3.1 and higher on Windows | ||
as GL_ARB_compatibility implemented by all proprietary drivers is not exposed on Mesa3D. | ||
Here are some examples on how to manually configure OpenGL context and one that shows how to use swr instead of | ||
llvmpipe. This is required for most applications using OpenGL 3.2 and higher on Windows | ||
as GL_ARB_compatibility implemented by Mesa3D only supports OpenGL 3.1. | ||
Probably as a side-effect shading language and OpenGL version don't sync by default | ||
for most OpenGL versions except 3.3 and default 3.0. | ||
for most OpenGL versions except 3.3 and default 3.1. | ||
|
||
Examples: | ||
1. Getting Desmume emulator OpenGL 3.2 renderer to work. | ||
Require OpenGL 3.2. Trial and error shows it works best with Core profile. | ||
1. Getting Desmume emulator OpenGL 3.2 rendering to work. | ||
Requires OpenGL 3.2. Trial and error shows it works best with Core profile. | ||
Solutions: | ||
a. Override GL version to 3.2 and shading language to 1.50 | ||
a. Override OpenGL version to 3.2 and shading language to 1.50 | ||
OpenGL and shading language should always sync. | ||
Solution highlighted in desmume.cmd. | ||
b. Slightly easier. Override GL version to 3.3. Get shading language sync for free. | ||
b. Slightly easier. Override OpenGL version to 3.3. Get shading language sync for free. | ||
Going above requirements is most of times pretty safe. | ||
Solution highlighted in desmume2.cmd. | ||
|
||
2. GPU Caps Viewer | ||
Tessellation is not supported by Mesa software renderers so only GL 3.x, GL 2.1 and GL 1.2 | ||
benchmarks can run. Most demos expect GL 3.2. In conclusion we need an OpenGL 3.2 or 3.3 | ||
compatibility context to simultaneously support GL 1.2, GL 2.1 and GL 3.x benchmarks. | ||
Again GL 3.3 compatibility context is easier as shown in GPUCapsViewer.cmd. | ||
Tessellation is not supported by Mesa software rendering so only OpenGL 3.x, OpenGL 2.1 and OpenGL 1.2 | ||
benchmarks can run. Most demos expect OpenGL 3.2. In conclusion we need an OpenGL 3.2 or 3.3 | ||
compatibility context to simultaneously support OpenGL 1.2, OpenGL 2.1 and OpenGL 3.x benchmarks. | ||
Again OpenGL 3.3 compatibility context is easier as shown in GPUCapsViewer.cmd. | ||
|
||
3. rpcs3 - Playstation 3 emulator. | ||
System requirements: OpenGL 4.3 with GLSL 4.30 as specified here: | ||
https://rpcs3.net/quickstart | ||
Example highlighted in rpcs3.cmd | ||
This example shows it is possible to request an incomplete OpenGL context as long as required extensions | ||
are available as Mesa3D software rendering only supports OpenGL 3.3 fully in Core profile. | ||
|
||
4. swr example | ||
PPSSPP doesn't need any kind of GL context configuration. This example shows how to use swr instead of llvmpipe. | ||
There no conflict between swr and manual GL context configuration. You can mix them if necessary. | ||
PPSSPP doesn't need any kind of OpenGL context configuration. This example shows how to use swr instead of | ||
llvmpipe. There no conflict between swr and manual GL context configuration. You can mix them if necessary. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.