Commit Graph

3527 Commits

Author SHA1 Message Date
degasus
a629dea4dc Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Src/GLInterface/WX.cpp
	Source/Core/DolphinWX/Src/GLInterface/WX.h
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.h
	Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoDX11/Src/TextureCache.h
	Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoDX9/Src/TextureCache.h
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.h
	Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp

damn mipmap_fixes ...
2013-02-18 18:49:20 +01:00
NeoBrainX
19ab5bf50d TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs. 2013-02-18 17:14:56 +01:00
NeoBrainX
0f617183a8 Add a possible TODO.
Dunno if the hardware behaves like this, but it likely does.
2013-02-18 14:54:24 +00:00
degasus
bef24b5c6b new format for gl extensions 2013-02-17 21:41:00 +01:00
Jordan Woyak
53aec6c476 Fix OGL perf queries and make them not slow! 2013-02-16 19:30:24 -06:00
Jordan Woyak
d994e56b60 Changes/cleanup to TextureCache::Load and other mipmap related code.
The significant change is what is now line 520 of TextureCacheBase.cpp:
((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1)
to
TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);

Fixes issue 5328.
Fixes issue 5461.
2013-02-15 22:56:29 -06:00
NeoBrainX
6fd96a162f Video_Software: Fix ZComploc option breaking stuff. 2013-02-15 17:55:16 +01:00
NeoBrainX
fb0102d441 Video_Software: Fix the ZFreeze option doing nothing. 2013-02-15 17:47:29 +01:00
NeoBrainX
183ad0c628 Video_Software: Toggable zfreeze and early_z support for testing. 2013-02-15 17:45:33 +01:00
degasus
e259343275 fix efb copy shaders 2013-02-15 13:13:45 +01:00
degasus
9f4a616f2e build fix 2013-02-14 19:04:52 +01:00
degasus
a0ef58418b workaround for buggy intel windows driver. revert this as soon as there are newer driver 2013-02-14 18:59:45 +01:00
degasus
0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00
degasus
3392562501 rewrite efb copy shader, copied from dx11 2013-02-13 18:01:06 +01:00
degasus
21b83b436c create shader cache directoy 2013-02-13 16:50:56 +01:00
degasus
b3675d15dc enable shader cache again 2013-02-13 16:30:15 +01:00
degasus
398b37f371 fix ValidateShaderIDs 2013-02-13 15:16:32 +01:00
degasus
bbc292c210 merge Vertex and PixelShaderCache into ProgramShaderCache
this is the first step, uniform handling is still missing
2013-02-13 13:12:19 +01:00
NeoBrainX
95d08db46f Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
This reverts commit 6c8a22de24.
2013-02-07 21:45:06 +01:00
NeoBrainX
ed0abc9dc5 Merge branch 'mipmap_fixes'. 2013-02-07 20:40:33 +01:00
NeoBrainX
6870c1fdd5 Fix some potential issues when blending on EFB formats without alpha.
Clean up state transition tables.
2013-02-07 18:01:24 +01:00
degasus
f079b04a5d also check for glsl errors on linking, activation GLSL_DEBUG again (slowdown on shader compilation) 2013-02-07 12:47:41 +01:00
degasus
9987765b1f build fix 2013-02-07 10:48:42 +01:00
degasus
376a807dea first try of osx fix, mostly by pauldachz 2013-02-07 10:34:29 +01:00
degasus
e7a8d3f854 check for GL_ARB_sync, it's in ogl 3.2 2013-02-06 01:05:19 +01:00
degasus
ef602fd643 workaround for glGetUniformLocation in efb2ram 2013-02-05 18:22:23 +01:00
degasus
76adc77fa6 bigger buffers 2013-02-05 18:01:27 +01:00
degasus
1d86dafbe2 evil hack: map the buffer once and use this pointer after unmaping
This isn't allowed by gl and may _only_ work, if the driver uses cpu bound buffer.
But it may speed up :-)
2013-02-05 00:53:14 +01:00
degasus
f677b8cba3 update to glew1.9, win binaries also from official release 2013-02-04 21:11:12 +01:00
degasus
2108529120 also align the size of buffers for pinned memory 2013-02-04 20:48:28 +01:00
degasus
6e0b0192a8 correct spelling of align 2013-02-02 19:39:26 +01:00
degasus
0c7aa4ff4f build fix 2013-02-02 19:32:40 +01:00
degasus
6e20af9ee9 align memory, use pinned memory if available 2013-02-02 19:26:29 +01:00
degasus
f0795bad12 fix glew fix 2013-02-01 17:12:05 +01:00
degasus
cb4cb1713d workaround older glew versions 2013-02-01 17:09:50 +01:00
degasus
2a1f592d82 first try for pinned memory, complete untested 2013-02-01 17:04:27 +01:00
degasus
3bf4ffe7fa usable sync of ringbuffer 2013-02-01 16:43:08 +01:00
degasus
3af9840a4c stream by map and sync
but not working perfectly, so disabled
2013-02-01 15:15:25 +01:00
degasus
878bd7f26c implement streaming by bufferSubData, split upload and allocation in ringbuffer 2013-02-01 12:30:08 +01:00
degasus
30170575c8 create StreamBuffer class for ogl upload 2013-01-31 23:11:53 +01:00
Glenn Rice
f7fa33f2d6 Fix remaining compiler warnings. 2013-01-31 15:29:29 -06:00
degasus
011e326698 remove glIsEnabled(GL_BLEND), we do restore state after it, so it doesn't matter 2013-01-31 13:49:20 +01:00
degasus
4a463f4588 also add glBufferSubData for ubo upload
so osx start game, but everything is black
2013-01-31 13:00:15 +01:00
degasus
c05f66bdd0 first try for osx core profile
now it doesn't crash, but it still hangs on startup
2013-01-31 12:20:17 +01:00
degasus
01d8c21e1d don't stream in rasterfont
mapping blocks on nvidia workstation, so use glBufferData
2013-01-31 11:30:44 +01:00
Glenn Rice
0ffdd2607f Fix the majority of the compiler warnings unearthed by the addition of
the new warning flags.
2013-01-29 23:24:51 -06:00
Jordan Woyak
0e04e0c305 Fix some shadowing warnings. 2013-01-29 16:43:22 -06:00
Ryan Houdek
afb5be10d9 OSX likes to put unordered_map in the weirdest of places... 2013-01-28 15:36:55 -06:00
Ryan Houdek
fa45403557 Got to love that my server's cmake is half retarded. 2013-01-28 15:32:38 -06:00
Ryan Houdek
d94f3c4155 Stop using std::pair and std::map. Switch over to u64 and std::unordered_map. Provides a very small speed boost. 2013-01-28 15:18:54 -06:00
degasus
c5fa3e0f3d move RestoreAPIState and ResetAPIState into backends
it's a backend specific hack, so it should be here
should give a small speedup in dx11 efb2tex
2013-01-28 18:16:03 +01:00
degasus
fd06342a97 set hint GL_STREAM_READ
it's wrong, but so we are guaranteed to get pinned memory.
it's slower for rendering, but faster for mapping.
2013-01-28 13:03:31 +01:00
Ryan Houdek
4fadb65259 Only check shader compilation status in debug or with DEBUG_GLSL defined. invalidate range on bindbufferrange since we don't care about what is in the range. Both give a performance boost for me. 2013-01-26 11:24:24 -06:00
degasus
3a52b37c3b only create shaders after shadercaches are initialized 2013-01-26 16:33:54 +01:00
Lioncash
efe8c75424 Duplicate condition fix.
Thanks j4ck.fr0st
2013-01-25 21:30:29 -05:00
degasus
13e9bb56f8 fix bug when rasterfont disappears sometimes 2013-01-25 20:39:19 +01:00
degasus
41b1128fdd orphan vbo also with glBufferData 2013-01-25 13:28:05 +01:00
degasus
a526fc5f92 ubo streaming 2013-01-25 13:20:42 +01:00
Ryan Houdek
73eb98ed8e Move swap control to the host specific GLInterface files. 2013-01-24 10:31:08 -06:00
degasus
e0ffdda26e Merge branch 'immediate-removal' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp

immediate-removal is a new created branch seperated from master but reverted the revert of immediate-removal
so we get less conflicts by merging
2013-01-24 16:58:28 +01:00
degasus
d60cc373d1 Revert "Revert 30dd9c2 e9d00bf db5f4c8 and bff0fae"
This reverts commit d0301ca89d.

Conflicts:
	.gitignore
2013-01-24 16:11:07 +01:00
lioncash
2db0c4270e Fix a potential memory leak on non-windows systems.
Also added a FIXME to BPStructs.cpp and BPMemLoader.cpp
2013-01-24 08:21:08 -05:00
degasus
6afc30240a partial revert of 8a6f747408
texture_rect isn't in core 3.0, so the long texture function must be used
2013-01-22 00:18:42 +01:00
degasus
da0ec6618f always init ogl configs 2013-01-21 18:44:33 +01:00
degasus
cf11f0ea72 clear uniform cache on startup 2013-01-21 15:43:04 +01:00
degasus
ebaaf6d468 glShadeModel is also obsolete 2013-01-21 10:37:16 +01:00
degasus
8a6f747408 glsl: remove usage of old texture2D* function 2013-01-19 11:07:06 +01:00
Ryan Houdek
621204f3e8 Fix switching from the different rasterizers 2013-01-19 02:18:39 -06:00
Ryan Houdek
ff9ba67773 Remove the dependency on rectangle textures in the software rasterizer. Also make it the be used by default in the software renderer like it was before. 2013-01-19 00:51:14 -06:00
degasus
d73c950623 cache texture bindings 2013-01-19 01:06:34 +01:00
degasus
e7d5b274c0 add stage parameter for texture load, so ogl can bind to the correct sampler 2013-01-19 00:47:48 +01:00
degasus
074f73c641 move utils texture to sampler 8+9
rasterfont tex will aways bound to samp8.
efb copy utils will be done in samp9.
2013-01-19 00:39:31 +01:00
degasus
6401a18143 remove texture sampler from uniform list 2013-01-19 00:12:02 +01:00
degasus
2c010f530e report glsl shader warings as errors 2013-01-18 12:49:48 +01:00
degasus
714ff50fdf set blending if dual source might be triggered 2013-01-18 00:44:35 +01:00
degasus
a87fd89fce disable ogl shader cache
it doesn't check the shader itself only the id of the shaders.
So there are cache mismatch atm
2013-01-17 12:36:20 +01:00
degasus
3054d36534 use glBindFragDataLocation instead of glDrawBuffer 2013-01-17 11:16:12 +01:00
lioncash
0ef3bd9c77 Revert "Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names)."
Turns out I was wrong in my previous commit. My bad.

This reverts commit 8743166663.
2013-01-16 15:46:11 -05:00
degasus
b778b86e26 improve texture mipmap count
GL_TEXTURE_MAX_LEVEL set how many mipmaps should be allocated, but all of them must be created.
GL_TEXTURE_MAX_LOD set how many mipmaps may be used.
2013-01-16 21:15:07 +01:00
degasus
8a7f1e9264 workaround for older ati drivers 2013-01-16 19:37:57 +01:00
lioncash
8743166663 Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names).
This also gets rid of some more typecasts in some cases.
2013-01-16 09:42:51 -05:00
degasus
b401131af2 small texcache cleanup 2013-01-16 15:12:39 +01:00
degasus
681272d65d use renderbuf fo xfb 2013-01-16 01:37:00 +01:00
degasus
bb200acdd8 also don't search in the shader cache if the shader isn't changed 2013-01-15 23:42:24 +01:00
degasus
687d74e6c2 only change shader if needed 2013-01-15 14:22:40 +01:00
degasus
85200db6a2 Revert "fix byte order in osd rasterfont"
This reverts commit db5f4c8c20.

Conflicts:
	Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp
2013-01-15 12:25:06 +01:00
degasus
1cfb5a21fa only use rgba for opengl 2013-01-14 23:43:51 +01:00
degasus
ff889c0e65 use attrib pointers in nativeVertexFormat 2013-01-14 22:59:08 +01:00
lioncash
8cf3ea3eea GetTextureBGRA()'s 'width' and 'height' parameters should be unsigned. 2013-01-14 16:29:52 -05:00
degasus
2f78986e2c Merge branch 'Graphic_Update' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
2013-01-14 21:36:31 +01:00
degasus
ff5ac8c505 fix win compiler errors 2013-01-14 20:08:53 +01:00
degasus
5fe3def64c videoConfig cleanup 2013-01-14 20:00:33 +01:00
degasus
adeac6f4a5 remove old deprecated calls and fixed functions parameters 2013-01-14 17:48:38 +01:00
degasus
c3aafc77b3 upload complete uniform buffer at once
this is the way of dx11. it would upload more per draw, but uses less calls.
will be faster if many uniforms are changed, but slower else
2013-01-14 13:58:11 +01:00
degasus
b18c0a5d1b remove ubo for efb2ram 2013-01-14 12:37:31 +01:00
Jordan Woyak
5dbc3b3219 replace this->Bind with Bind 2013-01-13 03:33:11 -06:00
Jordan Woyak
eca93c4c19 Eliminate nearly all the _connect_macro_ ugliness by using wxw's newish Bind functions.
Unlike Connect, Bind is quite type-safe.
I also seem to have fixed some errors in the input config dialog.
2013-01-13 03:06:56 -06:00
degasus
f3d663c2f4 efb2tex without ubo 2013-01-12 16:29:16 +01:00
degasus
2838077313 fix warnings 2013-01-11 21:24:59 +01:00
degasus
8651b34e22 also add vertex shader for efb2tex
goodbye fixed-function shaders
2013-01-11 15:41:42 +01:00
degasus
7c01c2bf11 move efb2ram shaders to textureCache 2013-01-11 15:24:43 +01:00
degasus
60b8e4fb1c vertex shader for texture converter 2013-01-11 11:59:42 +01:00
NeoBrainX
304814e7cc Video_Software: Implement proper RGBA8 texture loading from tmem.
For RGBA8 textures, AR and GB tiles are stored in separate tmem banks. TextureDecoder did not support that previously.
2013-01-10 18:30:16 +01:00
degasus
092a99cbd2 glsl shaders for showEfbCopyRegions 2013-01-09 20:08:55 +01:00
degasus
bff02b3b73 Merge branch 'arb_framebuffer' into GLSL-master
Conflicts:
	Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2013-01-09 11:00:26 +01:00
degasus
84debc17d5 fix msaa
blitting between msaa fbos may not scale. So we need to resolve the efb before swapping.
2013-01-09 01:50:52 +01:00
NeoBrainX
e204a6e015 Add some TODOs. 2013-01-08 18:56:01 +01:00
NeoBrainX
be706a3977 Disable color writing when alpha test always fails. 2013-01-08 18:56:01 +01:00
NeoBrainX
d26bcb0847 Move alpha pretest to BPMemory.h and rename a bunch of alpha testing related stuff 2013-01-08 18:56:01 +01:00
NeoBrainX
876eee5e60 PixelShaderGen: Don't disable depth texture emulation if z writing is disabled (this is what VideoSoftware is doing). 2013-01-08 18:16:48 +01:00
NeoBrainX
e979b2d4a2 DX11: Fix a small mistake.
Remove some incorrect and/or confusing comments.

Fixes issue 5251. Thanks to limburgerite :)
2013-01-08 18:16:48 +01:00
Ryan Houdek
d0301ca89d Revert 30dd9c2 e9d00bf db5f4c8 and bff0fae 2013-01-07 13:47:34 -06:00
degasus
b7906b49c9 fix byte order in osd rasterfont 2013-01-07 20:11:26 +01:00
degasus
ef32231431 fix screenshots 2013-01-03 21:40:54 +01:00
degasus
fc02427d54 xfb draw by blit - disable postprocessing
blitting can't do postprocessing - so for postprocessing, we have to add a new stage
2013-01-03 20:44:47 +01:00
degasus
b67b1c376d fix virtual xfb - remove glCopyTexImage2D
glCopyTexImage2D isn't in core (and so not supported everywhere) and it cannot store into GL_TEXTURE_RECTANGLE
2013-01-03 18:36:19 +01:00
degasus
363ffd3a5f swap() by blitting 2013-01-03 12:33:18 +01:00
degasus
ecedf56eb4 uses the ARB_framebuffer_object syntax
also require this extention (OGL3.0), but it have one _realy_ big advantage:
- now it's possible to blit between different texture sizes, so all util draw calls can be implemented as blit
2013-01-03 12:06:47 +01:00
degasus
a1ca288555 fix some AMD issues
This is only a hack. The correct solution would be:
1. don't use GL_TEXTURE_RECT ever. GL_TEXTURE_2D should also be faster
2. use GL_TEXTURE8+ for util textures
3. both
2013-01-03 09:45:12 +01:00
degasus
b38b62afc6 remove glsl binding support. convert every shader to version 130 2013-01-02 16:56:08 +01:00
degasus
c2898748ac bind locations _before_ link program, fix dest alpha 2012-12-31 02:34:27 +01:00
Ryan Houdek
64afbade33 Fix 4 warnings on OSX 2012-12-30 04:32:37 -06:00
Ryan Houdek
e5d5365bac Fix the last few warnings in Dolphin on my system. 2012-12-30 02:34:14 -06:00
Ryan Houdek
49ed752126 This line in SWRenderer has been wrong ever since the beginning. 2012-12-30 02:12:31 -06:00
Ryan Houdek
b4f30e549e Missed a precision qualifier in a HWRasterizer shader. 2012-12-29 21:50:07 -06:00
degasus
30dd9c2e17 always calls glBindBuffer(0) after disabling vao 2012-12-29 12:50:42 +01:00
degasus
e9d00bfeeb revert RasterFont optimization
isn't needed and also not tested and buggy
2012-12-29 00:37:50 +01:00
degasus
d9f3fc4495 fix ubo for intel cards (also amd?) 2012-12-28 17:06:08 +01:00
degasus
48ede4dd30 switch to glsl 130, more than OpenGL 3.1 isn't needed 2012-12-28 16:05:14 +01:00
degasus
70c63ce6cf fix dual pass alpha 2012-12-28 14:24:12 +01:00
degasus
82b33471ae cleanup rasterfont 2012-12-28 11:46:00 +01:00
Ryan Houdek
7d93834cd8 Bit more cleanup from removing Nvidia CG 2012-12-27 22:53:07 -06:00
degasus
d7f43c7a68 remove cg from windows project files 2012-12-28 01:08:29 +01:00
degasus
193056493a also use shaderCaches in rasterFont 2012-12-28 00:52:44 +01:00
degasus
316a33d1e6 Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/DolphinWX/Src/VideoConfigDiag.h
	Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2012-12-27 10:36:54 +01:00
degasus
db5f4c8c20 fix byte order in osd rasterfont 2012-12-26 23:48:33 +01:00
Ryan Houdek
01cdcc83a3 Merge Fail: Make sure we are using the interface file to get backbuffer dimensions. GL helper function was duplicated. 2012-12-26 13:15:19 -06:00
Ryan Houdek
67c1c6b062 Merge branch 'GLES-software' 2012-12-26 12:54:58 -06:00
Ryan Houdek
2d4c3c7c91 Beautify some tabs. 2012-12-26 10:33:45 -06:00
Ryan Houdek
e2489196e4 Got overzealous. We aren't removing CG quite yet with this branch. 2012-12-26 00:41:25 -06:00
Ryan Houdek
9a58f9a3bb Rename another function... 2012-12-26 00:34:09 -06:00
Ryan Houdek
f4e7a280a9 Remove cg.lib from some files for Windows and renaming a function. 2012-12-26 00:07:43 -06:00
Ryan Houdek
01953ff64a Rename the interface files and hopefully fix OSX building. 2012-12-25 19:08:24 -06:00
degasus
bff0faea2d Merge branch 'immediate-removal'
Conflicts:
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
2012-12-25 12:39:00 +01:00
degasus
399a6af66d revert update the rasterfont shader to GLSL3.3 - OGL 2.0 should be enough 2012-12-25 12:22:02 +01:00
NeoBrainX
2fedab3bad OGL: Make OSD messages fade out properly instead of having them disappear spontaneously. 2012-12-24 19:50:16 +01:00
Ryan Houdek
9209253e0d Initial removal of Nvidia CG. Still some more cleanup to go 2012-12-24 11:09:52 -06:00
Ryan Houdek
296b9b1c16 Small bit of clean up in GLES-software. 2012-12-24 09:37:12 -06:00
degasus
78ff8a769c Merge branch 'osx-savegame-fix' 2012-12-24 13:30:59 +01:00
degasus
bd0abb3d2f revert last commit, add CheckInvalidState to VideoBackend 2012-12-23 13:32:23 +01:00
Matthew Parlane
e3eebdf591 Fixes swprintf_s issues hopefully.
Also fixed an include not using correct caps.

According to:
http://connect.microsoft.com/VisualStudio/feedback/details/646532
2012-12-23 20:25:11 +13:00
Matthew Parlane
089434b719 Apply same force to float fix as has already been done for DX11. 2012-12-23 20:01:58 +13:00
degasus
85ac76e8e2 fix gcc compilation 2012-12-19 23:42:22 +01:00
Ryan Houdek
b78f5debe6 Initial push of GLES and GLUtil file breakup. 2012-12-17 14:54:20 -06:00
degasus
1919a458e8 only use one buffer, orphaning should do the rest 2012-12-15 17:28:58 +01:00
degasus
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
degasus
79a7ce4827 move glBindBuffer and glBindVertexArray out of VertexManager
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:52 -06:00
degasus
09274e2483 Check texture params before updateing them
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:48 -06:00
degasus
61836f8c51 helper for compiling glsl
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:44 -06:00
degasus
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
degasus
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
degasus
23a3336f9a increase hash size to u64
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:32 -06:00
degasus
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
degasus
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
degasus
5c8800968a also check for vbo updates in EncodeToRamUsingShader
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:22 -06:00
degasus
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
degasus
34b1451fbe cache vbos in TextureCache::TCacheEntry::FromRenderTarget
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:15 -06:00
degasus
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
degasus
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
degasus
b41c06a9ac EncodeToRamUsingShader in vbo
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:28:05 -06:00
degasus
8ea2ddbc50 XFBSource::Draw in vbo
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:27:59 -06:00
degasus
d44228f1b7 TextureCache::TCacheEntry::FromRenderTarget as vbo
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:27:56 -06:00
degasus
6b3125728b use vbo for ShowEFBCopyRegions
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:27:53 -06:00
degasus
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
degasus
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
degasus
888b5fb061 remove usage of glMultiTexCoord2f
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:27:38 -06:00
Glenn Rice
e85438cba0 Clean up gcc/g++ compiler warnings that have accumulated. 2012-12-10 00:40:28 -06:00
rog
30718230b2 Fix some warnings. 2012-12-06 20:25:07 -05:00
rog
97f5b1665f what is this even... 2012-11-26 02:11:52 -05:00
NeoBrainX
4ff9e03509 Merge branch 'efb_scaling_fixes'. 2012-11-19 13:18:57 +01:00
rog
3a8e8af2d5 Merge movie-fixes. 2012-11-16 12:07:22 -05:00
NeoBrainX
a38bb488d2 Remove Renderer::xScale and Renderer::yScale. 2012-11-16 14:29:09 +01:00
NeoBrainX
78031c2d54 Move ComputeDrawRectangle() to Renderer::UpdateDrawRectangle(). 2012-11-16 14:25:49 +01:00
rog
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
rog
8fe5aa4ee8 movie cleanup 2012-11-12 20:40:11 -05:00
rodolfoosvaldobogado
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
rodolfoosvaldobogado
3936c06ee8 more fixes for my last commit, player problem in twin snakes is fixed 2012-11-11 22:39:27 -03:00
rog
a5d210129d Add an on screen lag counter. 2012-11-11 17:57:06 -05:00
rodolfoosvaldobogado
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
NeoBrainX
6f21f5eb34 Video_Software: Implement texture preloading 2012-11-03 15:41:41 +01:00
Ryan Houdek
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
Ryan Houdek
dfb3c44d1a Remove glMatrixMode and glLoadIdentity calls in Render.cpp which do absolutely nothing. 2012-10-27 18:27:16 -05:00
Ryan Houdek
8c1d104ca3 Change EFB copy location rectangles over to a Vertex array 2012-10-27 18:10:31 -05:00
Ryan Houdek
c1fd640964 Rebase immediate-removal on master 2012-10-27 17:22:48 -05:00
rodolfoosvaldobogado
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
rodolfoosvaldobogado
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
rodolfoosvaldobogado
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
NeoBrainX
52963584f0 [bugfix] Make sure to specify the correct max lod level. 2012-10-20 21:07:03 +02:00
NeoBrainX
9d5fc3d7f0 [bugfix] Properly decode lod_bias. 2012-10-20 21:07:03 +02:00
NeoBrainX
6c8a22de24 [bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary. 2012-10-20 21:07:03 +02:00