Jordan Woyak
f1c990069c
Yell at the user if they change window size while dumping frames, and some other avi dumping stuff.
2013-02-26 20:47:48 -05:00
degasus
ae481068cd
cleanup ogl extension osd
2013-02-26 23:36:22 +01:00
degasus
a650ae8c7b
workaround for base vertex. damn old nvidia driver
2013-02-26 23:15:55 +01:00
degasus
025f8d342f
remove flag GL_SYNC_FLUSH_COMMANDS_BIT on syncing
2013-02-26 21:48:35 +01:00
Ryan Houdek
717b976875
ARM Support without GLSL
2013-02-26 13:49:00 -06:00
degasus
9bc8d6e02b
make samplercache global and call constructor/destructor
2013-02-26 18:30:13 +01:00
degasus
4883fa268f
Split VideoBackend::Cleanup from Shutdown.
...
First is called from ogl/d3d thread, second is called from emulation thread (x11...)
2013-02-26 16:42:32 +01:00
degasus
8b7141d3de
Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer."
...
This reverts commit 380f22ca0e
.
Yeah, reverting a revert.
2013-02-26 08:57:35 +01:00
Jordan Woyak
380f22ca0e
Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.
...
This reverts commit 52dacaa3e3
.
2013-02-25 20:52:30 -06:00
Jordan Woyak
52dacaa3e3
Make the posmtx vertex attribute an int instead of converting to and from a float.
2013-02-23 20:54:30 -06:00
degasus
242d960781
increase buffer size
...
32M UBO, 16M Vertex, 2M Index
2013-02-22 10:25:38 +01:00
Jordan Woyak
db1be085c2
VertexManager cleanup
2013-02-22 01:41:52 -06:00
degasus
9332775b68
default upload method for nvidia is buffersubdata
2013-02-21 21:59:40 +01:00
degasus
40e17b4cb8
add option for hacked upload and disable it by default
2013-02-21 18:18:44 +01:00
degasus
76e6085e31
consistently usage of buffer pointers
2013-02-21 12:36:29 +01:00
Jordan Woyak
e7c93b8ac3
Minor sampler cache cleanup.
2013-02-20 17:15:10 -06:00
Jordan Woyak
6e6d8af6dd
Revert "Don't load level 0 twice for 1-level textures in DX11." and fix it properly.
...
All backend TextureCaches now load level 0 in CreateTexture.
This reverts commit 294cb165ba
.
2013-02-20 05:42:22 -06:00
Jordan Woyak
55c2a01744
Check for sampler object support, just to be nice.
2013-02-19 21:24:08 -06:00
Jordan Woyak
f2647a1216
Implement OGL sampler cache. Allows binding a texture multiple times with different parameters. Also possibly gives a very small speed improvement.
2013-02-19 21:18:53 -06:00
degasus
d93e57ff22
revert b5fe39b8c7
"fix texture parameters"
...
these parameters are really floats. I was just wrong
2013-02-19 22:20:39 +01:00
degasus
b5fe39b8c7
fix texture parameters
2013-02-19 17:28:46 +01:00
degasus
50f4bf114e
Revert "map_orphan_and_risk - next try for upload method"
...
This reverts commit 17747fcfb8
.
On orphaning, some gl drivers do heurisitics where to store the buffer.
As the hack may only work on pinned memory, it would be much less deteministic.
2013-02-19 15:51:48 +01:00
degasus
0f2ee45d96
remove ati workaroung for mipmap creation
...
isn't needed any more by merging mapmap_fixes
2013-02-19 15:40:34 +01:00
degasus
17747fcfb8
map_orphan_and_risk - next try for upload method
...
should work around nvidia600 driver issue which will flush gpu on syncing
also increase buffer size by orphaning
2013-02-19 13:18:48 +01:00
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
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
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
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
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
NeoBrainX
0fdeb81038
Add some code for generating a shader constant usage profile.
2013-01-28 22:15:23 +01:00
NeoBrainX
67be1e939a
PixelShaderGen: Some more work...
2013-01-28 21:59:49 +01:00
NeoBrainX
dc0f470215
Added new shader cache uids for pixel shader gen.
2013-01-28 21:44:39 +01:00
NeoBrainX
3c8df842bb
Moved some of the new shader uid stuff to a common header file.
2013-01-28 21:05:29 +01:00
NeoBrainX
ca0e292dd4
Replace the shader uid system with a new one which quasi-automatically generates uids for shaders.
...
Currently used in the vertex shader only (had to fork lighting shaders for now).
2013-01-28 21:05:29 +01: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
0706050b74
[cleanup] Vastly clean up backend-specific sampler state logic.
2012-10-20 21:07:02 +02:00
NeoBrainX
069d949a57
[cleanup] TextureCache: Kill the autogen_mipmap parameter
2012-10-20 21:07:02 +02:00
rodolfoosvaldobogado@gmail.com
5230146c73
Hey, long time no commits :).
...
So to compensate lets bring back some speed to the emulation.
change a little the way the vertex are send to the gpu,
This first implementation changes dx9 a lot and dx11 a little to increase the parallelism between the cpu and gpu.
ogl: is my next step in ogl is a little more trickier so i have to take a little more time.
the original concept is Marcos idea, with my little touch to make it even more faster.
what to look for: SPEEEEEDDD :).
please test it a lot and let me know if you see any problem.
in dx9 the code is prepared to fall back to the previous implementation if your card does not support the amount of buffers needed.
So if you did not experience any speed gains you know where is the problem :).
for the ones with more experience and compression of the code please test changing the amount and size of the buffers to tune this for your specific machine.
The current values are the sweet spot for my machine.
All must Thanks Marcos, I hate him for giving good ideas when I'm full of work.
2012-10-20 10:22:15 -03:00