Previous 199869 Revisions Next

r30935 Wednesday 11th June, 2014 at 02:45:49 UTC by R. Belmont
SDL: fix 0.153 regression where user GLSL shaders didn't work. [R. Belmont]
[src/osd/sdl]drawogl.c

trunk/src/osd/sdl/drawogl.c
r30934r30935
16191619            texture->texpow2   = (sdl->usetexturerect)?0:sdl->texpoweroftwo;
16201620   }
16211621
1622   if ( texture->type == TEXTURE_TYPE_NONE && sdl->useglsl &&
1623       texture->xprescale == 1 && texture->yprescale == 1 &&
1624       texsource->rowpixels <= sdl->texture_max_width )
1625    {
1626       texture->type      = TEXTURE_TYPE_SHADER;
1627       texture->nocopy    = TRUE;
1628       texture->texTarget = GL_TEXTURE_2D;
1629       texture->texpow2   = sdl->texpoweroftwo;
1630    }
1631
16221632   // determine if we can skip the copy step
16231633   // if this was not already decided by the shader condition above
16241634   if    ( texture_copy_properties[texture->format][SDL_TEXFORMAT_SRC_EQUALS_DEST] &&
r30934r30935
29722982static void texture_all_disable(sdl_info *sdl)
29732983{
29742984   if ( sdl->useglsl )
2975      {
2985   {
29762986      pfn_glUseProgramObjectARB(0); // back to fixed function pipeline
29772987
29782988      pfn_glActiveTexture(GL_TEXTURE3);
r30934r30935
29872997      pfn_glActiveTexture(GL_TEXTURE0);
29882998      glBindTexture(GL_TEXTURE_2D, 0);
29892999      if ( sdl->usefbo ) pfn_glBindFramebuffer(GL_FRAMEBUFFER_EXT, 0);
2990      }
3000   }
29913001   glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0);
29923002
2993      if(sdl->usetexturerect)
2994      {
2995            glDisable(GL_TEXTURE_RECTANGLE_ARB);
2996      }
2997      glDisable(GL_TEXTURE_2D);
3003   if(sdl->usetexturerect)
3004   {
3005      glDisable(GL_TEXTURE_RECTANGLE_ARB);
3006   }
3007   glDisable(GL_TEXTURE_2D);
29983008
2999      glDisableClientState(GL_TEXTURE_COORD_ARRAY);
3000      if(sdl->usevbo)
3001      {
3009   glDisableClientState(GL_TEXTURE_COORD_ARRAY);
3010   if(sdl->usevbo)
3011   {
30023012      pfn_glBindBuffer( GL_ARRAY_BUFFER_ARB, 0); // unbind ..
3003      }
3013   }
30043014   if ( sdl->usepbo )
30053015   {
30063016      pfn_glBindBuffer( GL_PIXEL_UNPACK_BUFFER_ARB, 0);
3007      }
3017   }
30083018}
30093019
30103020static void drawogl_destroy_all_textures(sdl_window_info *window)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team