85ac76e8e2
fix gcc compilation
2012-12-19 23:42:22 +01:00
b78f5debe6
Initial push of GLES and GLUtil file breakup.
2012-12-17 14:54:20 -06:00
1919a458e8
only use one buffer, orphaning should do the rest
2012-12-15 17:28:58 +01:00
ba8264c2ac
use VAO in VertexManager
...
to use VAO, we must use VBO, so some legency code was removed:
- ARB_map_buffer_range must be available (OGL 3.0), don't call glBufferSubData if not
- ARB_draw_elements_base_vertex also (OGL 3.2), else we have to set the pointers every time
- USE_JIT was removed, it was broken and it isn't needed any more
And the index and vertex buffers are now synchronized, so that there will be one VAO per
NativeVertexFormat and Buffer.
2012-12-15 14:43:01 +01:00
79a7ce4827
move glBindBuffer and glBindVertexArray out of VertexManager
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:52 -06:00
09274e2483
Check texture params before updateing them
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:48 -06:00
61836f8c51
helper for compiling glsl
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:44 -06:00
48812f7bf7
update the rasterfont shader to GLSL3.3 - so OGL 3.3 is needed
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:39 -06:00
1bd21f44b2
custom shader for RasterFont, fix color support
...
OpenGL2.0 compatible
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:36 -06:00
23a3336f9a
increase hash size to u64
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:32 -06:00
75dd48247f
initial release of new RasterFont without color support
...
this new design will once create a texture for all chars.
while rendering a string, a list of polygons (position on screen + texture)
for this string is generated on the fly and print at once by glDrawArrays.
atm, there is no support for colors, so everything will display white.
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:28 -06:00
c207422987
using of vao, warning: ARB_vertex_array_object is needed
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:25 -06:00
5c8800968a
also check for vbo updates in EncodeToRamUsingShader
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:22 -06:00
1f1b32b663
only update vbo on changes in XFBSource::Draw
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:19 -06:00
34b1451fbe
cache vbos in TextureCache::TCacheEntry::FromRenderTarget
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:15 -06:00
d0c4332d99
don't update vbo, if there are no changes in Renderer::Swap
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:13 -06:00
bbcb442983
in the end, also Renderer::Swap in vbo
...
two last draw-calls are missing:
VertexManager::Draw (see Graphic_Update branch)
RasterFont::printString (perhaps reimplement with an texture)
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:10 -06:00
b41c06a9ac
EncodeToRamUsingShader in vbo
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:28:05 -06:00
8ea2ddbc50
XFBSource::Draw in vbo
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:27:59 -06:00
d44228f1b7
TextureCache::TCacheEntry::FromRenderTarget as vbo
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:27:56 -06:00
6b3125728b
use vbo for ShowEFBCopyRegions
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:27:53 -06:00
8b62be2025
fix ShowEFBCopyRegions
...
those fancy colors were the result of the usage of non-allocated heap
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:27:49 -06:00
6864b40e26
reset glEnableClientState befor every draw
...
should be done with VAO, but atm, this is not possible :-(
this also partial revert the fix in fb92c338af
(activating texture0 globally).
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:27:46 -06:00
888b5fb061
remove usage of glMultiTexCoord2f
...
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com >
2012-12-13 15:27:38 -06:00
e85438cba0
Clean up gcc/g++ compiler warnings that have accumulated.
2012-12-10 00:40:28 -06:00
30718230b2
Fix some warnings.
2012-12-06 20:25:07 -05:00
97f5b1665f
what is this even...
2012-11-26 02:11:52 -05:00
4ff9e03509
Merge branch 'efb_scaling_fixes'.
2012-11-19 13:18:57 +01:00
3a8e8af2d5
Merge movie-fixes.
2012-11-16 12:07:22 -05:00
a38bb488d2
Remove Renderer::xScale and Renderer::yScale.
2012-11-16 14:29:09 +01:00
78031c2d54
Move ComputeDrawRectangle() to Renderer::UpdateDrawRectangle().
2012-11-16 14:25:49 +01:00
14aa7150d9
Add option for author name for movies. Also, minor cleanup for previous options i've added.
2012-11-14 16:23:20 -05:00
8fe5aa4ee8
movie cleanup
2012-11-12 20:40:11 -05:00
0809ba79ae
fix for point rendering in dx9 backend, that will teach me to read the full documentation. if someone founs a games that use points a lot i will try to implement a faster path for point rendering.
...
now the map in twin snakes is functional in all the backends.
2012-11-12 19:37:08 -03:00
3936c06ee8
more fixes for my last commit, player problem in twin snakes is fixed
2012-11-11 22:39:27 -03:00
a5d210129d
Add an on screen lag counter.
2012-11-11 17:57:06 -05:00
53b62ab169
This should fix the bugs introduced by my last commit please retest the games that where showing graphical glitches.
2012-11-10 11:37:08 -03:00
6f21f5eb34
Video_Software: Implement texture preloading
2012-11-03 15:41:41 +01:00
fb92c338af
Bit of cleanup and fixing of one issue that was noticeable in SMS with Mario's shadow.
2012-10-27 22:50:06 -05:00
dfb3c44d1a
Remove glMatrixMode and glLoadIdentity calls in Render.cpp which do absolutely nothing.
2012-10-27 18:27:16 -05:00
8c1d104ca3
Change EFB copy location rectangles over to a Vertex array
2012-10-27 18:10:31 -05:00
c1fd640964
Rebase immediate-removal on master
2012-10-27 17:22:48 -05:00
ee72852491
implement some code to reduce the amounts of calls to setup vertex format, in d3d9 it gives no noticeable speedup, in opengl it still does not work right.
...
thanks to neobrain for the idea
2012-10-26 23:18:09 -03:00
eaa1ea71c1
Implement the new buffer approach in opengl. sadly in my machine it gives my only 2 more fps and if your hardware does not support ARB_map_buffer_range is even slower than plain vertex arrays.
...
change naming in all the backends vertex managers to make more easy to continue with the merge an some future improvements.
please test this as i'm interested in knowing the performance in linux and windows with the different hardware platforms.
2012-10-26 11:34:02 -03:00
72cb1734ee
Some code cleaning for my last commit.
...
the amount and size of the buffer is now changed to "new hardware" frienly values and will fall back to the right values if hardware does not support them.
my next commit will be to a branch, with my ogl work.
2012-10-22 19:37:26 -03:00
52963584f0
[bugfix] Make sure to specify the correct max lod level.
2012-10-20 21:07:03 +02:00
9d5fc3d7f0
[bugfix] Properly decode lod_bias.
2012-10-20 21:07:03 +02:00
6c8a22de24
[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary.
2012-10-20 21:07:03 +02:00
0706050b74
[cleanup] Vastly clean up backend-specific sampler state logic.
2012-10-20 21:07:02 +02:00
069d949a57
[cleanup] TextureCache: Kill the autogen_mipmap parameter
2012-10-20 21:07:02 +02:00