revision 1256:a9d29fe74bf3
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 1256:a9d29fe74bf3 |
parent | 1255:d63f73cc586f |
child | 1257:e1314ad3e7cc |
author | nkeynes |
date | Sun Mar 04 21:10:12 2012 +1000 (11 years ago) |
Move glsl loading into common gl code, and set a display capability flag
1.1 --- a/src/display.h Sun Mar 04 20:56:40 2012 +10001.2 +++ b/src/display.h Sun Mar 04 21:10:12 2012 +10001.3 @@ -110,6 +110,7 @@1.5 struct display_capabilities {1.6 gboolean has_gl;1.7 + gboolean has_sl;1.8 int depth_bits;1.9 int stencil_bits; /* 0 = no stencil buffer */1.10 };
2.1 --- a/src/drivers/video_egl.c Sun Mar 04 20:56:40 2012 +10002.2 +++ b/src/drivers/video_egl.c Sun Mar 04 21:10:12 2012 +10002.3 @@ -126,6 +126,7 @@2.4 display_egl_driver.capabilities.depth_bits = 16; /* TODO: get from config info */2.5 gl_fbo_init(&display_egl_driver);2.6 gl_vbo_init(&display_egl_driver);2.7 + glsl_init(&display_egl_driver);2.8 fbo_created = TRUE;2.9 } else {2.10 ERROR( "Display does not support FBO" );
3.1 --- a/src/drivers/video_gl.c Sun Mar 04 20:56:40 2012 +10003.2 +++ b/src/drivers/video_gl.c Sun Mar 04 21:10:12 2012 +10003.3 @@ -272,6 +272,7 @@3.4 display_gl_driver.capabilities.has_gl = TRUE;3.5 gl_fbo_init(&display_gl_driver);3.6 gl_vbo_init(&display_gl_driver);3.7 + glsl_init(&display_gl_driver);3.8 return TRUE;3.9 } else {3.10 return FALSE;
4.1 --- a/src/drivers/video_glx.c Sun Mar 04 20:56:40 2012 +10004.2 +++ b/src/drivers/video_glx.c Sun Mar 04 21:10:12 2012 +10004.3 @@ -250,6 +250,7 @@4.4 return FALSE;4.5 }4.6 gl_vbo_init(driver);4.7 + glsl_init(driver);4.8 return TRUE;4.9 }
5.1 --- a/src/drivers/video_nsgl.m Sun Mar 04 20:56:40 2012 +10005.2 +++ b/src/drivers/video_nsgl.m Sun Mar 04 21:10:12 2012 +10005.3 @@ -54,6 +54,7 @@5.4 return FALSE;5.5 }5.6 gl_vbo_init(driver);5.7 + glsl_init(driver);5.9 return TRUE;5.10 }
6.1 --- a/src/pvr2/gl_sl.c Sun Mar 04 20:56:40 2012 +10006.2 +++ b/src/pvr2/gl_sl.c Sun Mar 04 21:10:12 2012 +10006.3 @@ -492,3 +492,21 @@6.4 glsl_use_program(0);6.5 }6.7 +gboolean glsl_init( display_driver_t driver )6.8 +{6.9 + gboolean result;6.10 + if( glsl_is_supported() && isGLMultitextureSupported() ) {6.11 + if( !glsl_load_shaders( ) ) {6.12 + WARN( "Unable to load GL shaders" );6.13 + result = FALSE;6.14 + } else {6.15 + INFO( "Shaders loaded successfully" );6.16 + result = TRUE;6.17 + }6.18 + } else {6.19 + INFO( "Shaders not supported" );6.20 + result = FALSE;6.21 + }6.22 + driver->capabilities.has_sl = result;6.23 + return result;6.24 +}
7.1 --- a/src/pvr2/glrender.c Sun Mar 04 20:56:40 2012 +10007.2 +++ b/src/pvr2/glrender.c Sun Mar 04 21:10:12 2012 +10007.3 @@ -115,21 +115,10 @@7.4 */7.5 void pvr2_setup_gl_context()7.6 {7.7 - if( glsl_is_supported() && isGLMultitextureSupported() ) {7.8 - if( !glsl_load_shaders( ) ) {7.9 - WARN( "Unable to load GL shaders" );7.10 - } else {7.11 - INFO( "Shaders loaded successfully" );7.12 - have_shaders = TRUE;7.13 - }7.14 - } else {7.15 - INFO( "Shaders not supported" );7.16 - }7.17 -7.18 #ifdef APPLE_BUILD7.19 CGL_MACRO_CONTEXT = CGLGetCurrentContext();7.20 #endif7.21 - texcache_gl_init(have_shaders); // Allocate texture IDs7.22 + texcache_gl_init(); // Allocate texture IDs7.24 /* Global settings */7.25 glDisable( GL_CULL_FACE );
8.1 --- a/src/pvr2/glutil.h Sun Mar 04 20:56:40 2012 +10008.2 +++ b/src/pvr2/glutil.h Sun Mar 04 21:10:12 2012 +10008.3 @@ -136,6 +136,7 @@8.6 /****** Shader handling (gl_sl.c) *****/8.7 +gboolean glsl_init( display_driver_t driver );8.8 gboolean glsl_is_supported(void);8.9 const char *glsl_get_version(void);8.10 gboolean glsl_load_shaders( );
9.1 --- a/src/pvr2/pvr2.h Sun Mar 04 20:56:40 2012 +10009.2 +++ b/src/pvr2/pvr2.h Sun Mar 04 21:10:12 2012 +10009.3 @@ -316,7 +316,7 @@9.4 /**9.5 * Initialize the GL side of the texture cache (texture ids and such).9.6 */9.7 -void texcache_gl_init( gboolean withShaders );9.8 +void texcache_gl_init( );9.10 /**9.11 * Flush all textures and delete. The cache will be non-functional until
10.1 --- a/src/pvr2/texcache.c Sun Mar 04 20:56:40 2012 +100010.2 +++ b/src/pvr2/texcache.c Sun Mar 04 21:10:12 2012 +100010.3 @@ -89,12 +89,12 @@10.4 * Setup the initial texture ids (must be called after the GL context is10.5 * prepared)10.6 */10.7 -void texcache_gl_init( gboolean withShaders )10.8 +void texcache_gl_init( )10.9 {10.10 int i;10.11 GLuint texids[MAX_TEXTURES];10.13 - if( withShaders ) {10.14 + if( display_driver->capabilities.has_sl ) {10.15 texcache_have_palette_shader = TRUE;10.16 texcache_palette_valid = FALSE;10.17 glGenTextures(1, &texcache_palette_texid );
.