PDA

View Full Version : About AMD OpenGL 4.1 support..



oscarbg
10-28-2010, 09:10 AM
Hi I have been testing OpenGL 4.1 support in Cat 10.10a drivers (seems driver=10.10c) and we have also support for EXT_texture_image_load_store..
Well using exhaustive (at least for me) tests from OGL samples pack 4.1.2.0 and minor changes to GLSL code
not really related to OGL 4.1 support most of the samples work..
Also related seems g-truc has released 4.1.3.0 pack with three new samples:
400-texture-compression-arb
400-sampler-array-gtc
400-buffer-uniform-shared-gtc
seems we have a dx11 hdr texture compression format test.. great..
gtc samples points some new features from ogl gtc talk.. (by the way some ones knows where to obtain wgl_nv_dxinterop spec now promoted stable in 260.93

drivers?)

Before I continue I must point you to the lastest OGL 4.1 status by g-truc..
http://www.g-truc.net/post-0345.html
If i write this post it's because I think that g-truc has bad luck cause most of ogl 4.1 is working with cat 10.10 drivers..
Basically my status file is that:
nvidia 260.93
410-primitive-tessellation
400-program-varying-structs Doesn't support varying struct and wrong error message
400-fbo-rtt Black render targets
so we get all expect three samples working ok and two are related to varying problems.. for me bad samples=red samples in g-truc reviews.. other are

warnings but that don't prevent of working ok..
with
ati 10.10a
410-fbo-layered
===============
fails shaders compilation: has some issues with flat keyword don't being recognized by parser if used with layout(location = INSTANCE ).
deleting either that layout specifier in layer.geom/frag and viewport.geom/frag or the flat keyword at least allows compilation to work..
you get all red screen instead of 4 colors as in 400-fbo-layered..

wherever you put flat you get parse error if not
Geometry shader failed to compile with the following errors:
ERROR: 0:20: error(#132) Syntax error: 'flat' parse error
ERROR: error(#273) 1 compilation errors. No code generated

410-primitive-instanced
=======================
crashes

410-primitive-tessellation
==========================
both this and separate examples fails with gl_position errors
decaring
out vec4 gl_Position;
forces the shaders to compile but fails to link shaders..

410-program-binary
==================
works OK first execution compiles shader and saves correctly..
second execution loads binary correctly (well some there is some pixel corruption from time to time ) but crashes at exit while saving binary as gets a binary size of 0

program-separate
================
works OK if you add to tess.vert and separate.vert
out vec4 gl_Position
altough you will get this
WARNING: 0:24: warning(#375) Redeclare built-in name gl_Position
Note gl_Position I don't know if is the correct fix..

So basically I get all working primarly binary and separate extensions work and even viewportindex is implemented as 260.93 drivers..

Note still lacking are GL_ARB_ES2_compatibility and EXT_create_context_es2_profile (though AMD way is using egl for creating a OGL ES 2.0 context), context_robustness extensions (ARB_create_context_robustness,ARB_robustness) debug_output and ARB_cl_event..

aqnuep
10-29-2010, 02:51 AM
Some comment about the list: ARB_robustness, ARB_debug_output and ARB_cl_event are not part of the OpenGL 4.1 core specification. They are just usual ARB extensions.

oscarbg
10-29-2010, 10:29 AM
Hi aqnuep true some are optional arb extensions but would be nice to have specially for me ARB_cl_event..
Finally i forgot to add that binary shaders now in Nvidia have no source attached in it but nv assembly language.. output of cgc seems.. first ogl 41 driver had glsl source so binary format are changing still..
Also ati seems to include right now source code but editing binary for owerwriting source code with garbage and still works though I don't know if changing even gpu generations will require recompilation..

Alfonse Reinheart
10-29-2010, 02:49 PM
You're really not supposed to examine or modify the stuff that comes out of get program binary.