Commit Graph

1644 Commits

Author SHA1 Message Date
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