Matthias Clasen
efc31161f0
gl: Allow setting min/mag filter on textures
...
This will be used in the future.
Adapt all callers to pass GL_NEAREST for now.
2019-06-04 23:00:01 +00:00
Matthias Clasen
1a4e360c2c
Don't generate mipmaps needlessly
...
GL_LINEAR doesn't use mipmaps, so don't generate them.
2019-06-02 18:29:11 +00:00
Timm Bäder
fb86fd900e
gl renderer: Make creating render targets easier
2019-05-23 18:42:00 +02:00
Timm Bäder
f32756e705
gl renderer: Remove some unused api form the GLDriver
2019-05-23 18:42:00 +02:00
Timm Bäder
6a69dc6e5d
gl renderer: A GdkGLTexture's context might be NULL
...
gdk_gl_texture_download ought to still work, but we can't make a NULL
context current obviously.
2019-05-20 09:33:55 +02:00
Timm Bäder
931b0b3752
gl renderer: Move texture labeling below initialization
...
Apparently genTextures and friends only "reserves names", initializing
them will actually create them. Using glObjectLabel on textures before
initializing them will throw a GL_INVALID_VALUE error.
2019-04-27 10:44:37 +02:00
Alexander Larsson
4f7171885f
GskGLRenderer: Label various gl objects
...
This means the names are more useful in tools like renderdoc.
2019-04-25 11:35:00 +02:00
Timm Bäder
cc878ec00f
gl renderer: begin/end_frame around do_render
...
This fixes rendering to a texture on intel hardware. The glClear calls
would throw a GL_FRAMEBUFFER_INCOMPLETE error here, because the
gsk_gl_driver_begin_frame() call in do_render() reset the framebuffer
object in use.
2019-04-23 17:09:14 +02:00
Timm Bäder
eeed55d45c
gl renderer: Mark pointer textures as used
...
Otherwise we remove them, causing additional texture uploads.
2019-03-06 06:31:25 +01:00
Timm Bäder
c0cf592336
gl renderer: Cache offscreen textures per node, not size
2018-11-29 08:50:16 +01:00
Timm Bäder
5ea211bbb1
Revert "gldriver: Don't create surfaces to upload textures"
...
This reverts commit 6466e53bfc
.
This breaks GtkGLArea.
2018-11-29 07:39:11 +01:00
Timm Bäder
6466e53bfc
gldriver: Don't create surfaces to upload textures
2018-11-27 05:37:38 +01:00
Руслан Ижбулатов
10b2f6540a
Fix wrong format strings in various places
2018-06-10 21:20:59 +00:00
Timm Bäder
0124740fa0
gl renderer: Support large textures
...
By tiling them.
2018-03-20 09:40:10 +01:00
Timm Bäder
4240119d64
gl renderer: add basic code to support texture tiling
2018-03-20 09:40:10 +01:00
Timm Bäder
8ef2b10f70
gldriver: Name driver instances 'self'
2018-03-20 09:37:59 +01:00
Timm Bäder
04fadc508b
GskGLDriver: Use g_assert_cmphex for GL constants
2018-03-15 09:25:42 +01:00
Timm Bäder
90c8619f42
gl renderer: Properly draw gl textures from a different context
...
Temporarily switch to the texture's gl context, download the texture and
create a new one in our context for it.
2018-03-14 17:28:41 +01:00
Benjamin Otte
160e6ad6f6
gdk: Split out GL texture
...
Put GdkGLTexture into its own file and rename the API to
gdk_gl_texture_foo() instead of gdk_texture_foo_for_gl().
Apart from naming, no actual code changes.
2018-03-07 16:17:15 +01:00
Matthias Clasen
31fcf5b3a7
gsk: Handle GL textures
...
These textures already have a GL texture in them,
no need to create a new one.
2018-01-17 11:57:25 -05:00
Matthias Clasen
c56419818f
gsk: make logging per-renderer
...
Add a setter for per-renderer debug flags, and use
them where possible. Some places don't have easy access
to a renderer, so this is not complete.
Also, use g_message instead of g_print throughout.
2018-01-14 17:05:04 -05:00
Timm Bäder
d1a08aa2a9
gl driver: Remove some type checks in a hot path
2018-01-02 08:10:06 +01:00
Timm Bäder
f92cca5229
gl renderer: Fix release build
2017-12-29 08:59:47 +01:00
Timm Bäder
6587864824
gl driver: Remove more unused API
2017-12-29 05:48:43 +01:00
Timm Bäder
d2d18f74f8
gl driver: Remove gl-context property
...
No need for this to be a property.
2017-12-29 05:48:43 +01:00
Timm Bäder
1cbd4d229e
gl driver: Remove dead warning code
...
_get_fbo never returns NULL.
2017-12-29 05:48:43 +01:00
Timm Bäder
c9656e2864
gl driver: Only support one fbo per texture
2017-12-29 05:48:43 +01:00
Timm Bäder
352590cf9f
gl driver: Remove vao API
...
Unused.
2017-12-29 05:48:43 +01:00
Timm Bäder
33457b4035
gl renderer: Ensure texture sizes arent 0
...
We already ceil() the given float texture sizes here, so if they are
valid, the result should definitely be > 0. Textures with size 0 can't
be properly used, especially not as render targets, where they will
trigger an assertion failure later in a glCheckFramebuffer call.
2017-12-21 19:12:32 +01:00
Timm Bäder
823369f275
gsk: Move all gskgl* files into gl/
2017-12-21 19:12:30 +01:00