Comments (4)
tegra doesn't have full opengl driver support?
from gl4es.
there must be code already in there to force 16bits depth, I'm pretty sure of this. Look around in the glx folder
from gl4es.
thanks, manages to get it to go a bit further overriding the depth to 16, then it was crashing on the testGLSL function in glx/hardext.c to test the verion so i bypassed that as the tegra is on version 100. it's now finishing the load of the libGL and now i'm hitting this warning
Line 340 in e39434a
executing glxheads
LIBGL: v1.1.5 built on Nov 15 2023 04:01:10
LIBGL: Using GLES 2.0 backend
LIBGL: loaded: libGLESv2.so
LIBGL: loaded: libEGL.so
LIBGL: Using GLES 2.0 backend
LIBGL: Hardware Limited NPOT detected and used
LIBGL: FBO are in core, and so used
LIBGL: PointSprite are in core, and so used
LIBGL: CubeMap are in core, and so used
LIBGL: BlendColor is in core, and so used
LIBGL: Blend Subtract is in core, and so used
LIBGL: Blend Function and Equation Separation is in core, and so used
LIBGL: Texture Mirrored Repeat is in core, and so used
LIBGL: Extension GL_OES_mapbuffer detected
LIBGL: Extension GL_OES_depth24 detected and used
LIBGL: Extension GL_OES_rgb8_rgba8 detected and used
LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used
LIBGL: Extension GL_OES_depth_texture detected and used
LIBGL: Extension GL_EXT_texture_rg detected and used
LIBGL: Extension GL_OES_texture_half_float detected and used
LIBGL: Extension GL_EXT_color_buffer_half_float detected and used
LIBGL: Extension GL_EXT_frag_depth detected and used
LIBGL: Max vertex attrib: 16
LIBGL: Extension GL_OES_standard_derivatives detected and used
LIBGL: Max texture size: 4096
LIBGL: Max Varying Vector: 15
LIBGL: Texture Units: 16/16 (hardware: 16), Max lights: 8, Max planes: 6
LIBGL: Extension GL_EXT_texture_filter_anisotropic detected and used
LIBGL: Max Anisotropic filtering: 15
LIBGL: Max Color Attachments: 1 / Draw buffers: 1
LIBGL: Hardware vendor is NVIDIA Corporation
LIBGL: EGLImage from Pixmap supported
LIBGL: EGLImage to Texture2D supported
LIBGL: EGLImage to RenderBuffer supported
LIBGL: Targeting OpenGL 2.1
LIBGL: Not forcing NPOT support
LIBGL: Not trying to batch small subsequent glDrawXXXX
LIBGL: try to use VBO
LIBGL: Force texture for Attachment color0 on FBO
LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done
LIBGL: glX Will try to recycle EGL Surface
LIBGL: Current folder is:/root/gl4es
LIBGL: Not using PSA (prgbin_n=0, notexarray=0)
glxheads: exercise multiple GLX connections (any key = exit)
Usage:
glxheads xdisplayname ...
Example:
glxheads :0 mars:0 venus:1
LIBGL: Warning, gl4es_glXChooseVisual: XGetVisualInfo gives 0 VisualInfo for 16 depth and TrueColor class
LIBGL: Shuting down
Error on display :0 - Unable to find RGB, double-buffered visual
from gl4es.
this is the diff so far to get to that point. mayeb i've made some changes that don't make sense
index 0398a1b..dcdbd3a 100644
--- a/src/gl/init.c
+++ b/src/gl/init.c
@@ -473,7 +473,7 @@ void initialize_gl4es() {
SHUT_LOGD("Avoid 24bits textures\n");
break;
default:
- globals4es.avoid24bits = 0;
+ globals4es.avoid24bits = 2;
break;
}
}
@@ -754,3 +754,4 @@ void (*const gl4es_ctors[])() = { initialize_gl4es, dll_init_done };
void (*const gl4es_dtor)() = close_gl4es;
#pragma const_seg()
#endif
+
diff --git a/src/glx/glx.c b/src/glx/glx.c
index 06dce28..7b25f79 100644
--- a/src/glx/glx.c
+++ b/src/glx/glx.c
@@ -61,7 +61,7 @@ static EGLContext eglContext = EGL_NO_CONTEXT;
static int maxEGLConfig = 0;
static GLXFBConfig allFBConfig = NULL;
#endif
-static int glx_default_depth=0;
+static int glx_default_depth=16;
#ifdef PANDORA
static struct sockaddr_un sun;
static int sock = -2;
@@ -338,11 +338,11 @@ static int get_config_default(Display *display, int attribute, int *value) {
XVisualInfo *visuals = XGetVisualInfo(display, VisualDepthMask|VisualClassMask, &xvinfo, &n);
if (!n) {
LOGD("Warning, get_config_default: XGetVisualInfo gives 0 VisualInfo for %d depth and TrueColor class\n", glx_default_depth);
- *value = 0;
- } else {
+ // *value = 0;
+ } //else {
*value = visuals[0].visualid;
XFree(visuals);
- }
+ //}
}
break;
case GLX_FBCONFIG_ID:
@@ -416,7 +416,7 @@ static void fill1GLXFBConfig(Display *display, EGLConfig eglConfig, int DB, GLXF
egl_eglGetConfigAttrib(eglDisplay, eglConfig, EGL_NATIVE_VISUAL_ID, &fbConfig->associatedVisualId);
if(!fbConfig->associatedVisualId || globals4es.usefb || globals4es.usefbo || globals4es.usepbuffer) {
// when using some FB driver, lets take a default VisualID, as the one from the EGLConfig is probably not the correct one
- glx_default_depth = XDefaultDepth(display, 0);
+ glx_default_depth = 16;//XDefaultDepth(display, 0);
XVisualInfo xvinfo = {0};
xvinfo.depth = glx_default_depth;
xvinfo.class = TrueColor;
@@ -1135,7 +1135,7 @@ XVisualInfo *gl4es_glXChooseVisual(Display *display,
if(!ask_rgba)
return NULL; // only TrueColor profile...
}
- glx_default_depth = XDefaultDepth(display, screen);
+ glx_default_depth = 16;//XDefaultDepth(display, screen);
if (glx_default_depth != 16 && glx_default_depth != 24 && glx_default_depth != 32)
LOGD("unusual desktop color depth %d\n", glx_default_depth);
@@ -1147,7 +1147,7 @@ XVisualInfo *gl4es_glXChooseVisual(Display *display,
#endif
XVisualInfo xvinfo = {0};
- xvinfo.depth = glx_default_depth;
+ xvinfo.depth = 16;//glx_default_depth;
xvinfo.class = TrueColor;
int n;
XVisualInfo *visuals = XGetVisualInfo(display, VisualDepthMask|VisualClassMask, &xvinfo, &n);
@@ -2051,7 +2051,7 @@ XVisualInfo *gl4es_glXGetVisualFromFBConfig(Display *display, GLXFBConfig config
g_display = XOpenDisplay(NULL);
}*/
if (glx_default_depth==0)
- glx_default_depth = XDefaultDepth(display, 0);
+ glx_default_depth = 16; //XDefaultDepth(display, 0);
int depth = glx_default_depth;
/*if(config) { // seems to upset Colin McRea Rally (Unity game)
diff --git a/src/glx/hardext.c b/src/glx/hardext.c
index 46e35bb..7ddd04b 100644
--- a/src/glx/hardext.c
+++ b/src/glx/hardext.c
@@ -424,14 +424,14 @@ void GetHardwareExtensions(int notest)
hardext.vendor = VEND_ARM;
else if(strstr(vendor, "Imagination Technologies"))
hardext.vendor = VEND_IMGTEC;
- if(hardext.esversion>1) {
- if(testGLSL("#version 120", 1))
+// if(hardext.esversion>1) {
+ // if(testGLSL("#version 100", 1))
hardext.glsl120 = 1;
- if(testGLSL("#version 300 es", 0))
- hardext.glsl300es = 1;
- if(testGLSL("#version 310 es", 1))
- hardext.glsl310es = 1;
- }
+ // if(testGLSL("#version 300 es", 0))
+ // hardext.glsl300es = 1;
+ // if(testGLSL("#version 310 es", 1))
+ // hardext.glsl310es = 1;
+ // }
if(hardext.glsl120) {
SHUT_LOGD("GLSL 120 supported and used\n");
}
from gl4es.
Related Issues (20)
- glxgears wrong size and strange incorrect colors HOT 4
- //TODO: Add GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER HOT 3
- Seemingly broken triangle rendering
- nanovg example_gl2 errors
- Question about skips.h and #define guards HOT 2
- X11 WSI support for android targets? HOT 4
- EGL_BAD_DISPLAY error on Mali G52 driver blob (GKD Mini Plus) HOT 9
- Raylib clashes HOT 9
- When will gles3.0 be supported? HOT 1
- [Question]: About the LOAD_GL* macros HOT 20
- [Question]: NEON Intrisics HOT 6
- `LIBGL_ES=1` breaks rendering of MC 1.7.10 HOT 2
- [Question] how to use gl4es using box64 and wine?
- Amigaos4 slowdown possibly with displaylists HOT 4
- Commit c8cf6cb31aa12700e7cf30261159436653de8103 causes DSI error on AmigaOS4 HOT 8
- CS2
- Add support for glCopyColorTable HOT 1
- New release HOT 2
- [request] update OpenGl4Es
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gl4es.