1dafa87eb5
GPUState: Fix signed / bitfield conversion leading to wrong enum value
...
This was creating drawing issues on windows builds.
2020-08-19 17:13:53 +02:00
33fde699e2
Cleanup: GPUState: Remove GPU_state_init()
2020-08-18 21:30:11 +02:00
adca09b643
GPUState: Port default state to StateManager constructor
2020-08-18 21:30:11 +02:00
a9f2ebb215
Cleanup: DRW: Use GPUState instead of raw opengl calls
...
Should not break anything! Huh!
2020-08-18 21:30:10 +02:00
536c2e0ec9
GPUState: Only apply state before drawing
2020-08-18 21:30:10 +02:00
482a51aabf
Cleanup: GPUState: Remove stack from the state manager and rename it
2020-08-18 21:30:10 +02:00
d10f000322
GPUState: Remove gpuPushAttr/gpuPopAttr
...
And use manual save/restore mechanism.
The stack method is not used so much to be considered useful.
2020-08-18 21:30:10 +02:00
f30df15edc
GPUState: Make use of GPUStateStack class
...
This isolate most GL calls to the GL backend. Still a few remains.
2020-08-18 21:30:10 +02:00
bf1b622dd9
GPUState: GPU_blend final API renaming
...
We now use GPU_blend for enabling / disabling blending and explicitly
set the blend equation.
2020-08-18 21:30:10 +02:00
10558d6973
Cleanup: GPUState: remove use of GPU_blend_set_func
2020-08-18 21:30:10 +02:00
969bcf0793
Cleanup: GPUState: Replace blend func separate by enum
2020-08-18 21:30:10 +02:00
a1459b2f7a
Cleanup: GPU: Move towards an explicit Blend state
...
This make use of the GLStateStack functions for:
- `GPU_blend()`
- `GPU_blend_set_func()`
- `GPU_blend_set_func_separate()`
The goal is to unify them using an explicit state setting.
This will remove the need to use obscure blend functions
2020-08-18 21:30:10 +02:00
2ae1c895a2
GPUState: Add GL backend and state tracking but do not use it
...
This is just the backend work. It is not plugged in yet because it
needs more external cleanup/refactor.
2020-08-18 21:30:10 +02:00
0f292dc072
Cleanup: GPUState: remove float variant of GPU_scissor_get
2020-08-18 21:30:10 +02:00
5f6fb5bb41
Cleanup: Split gpu_texture_image.c into BKE and IMB modules
...
This is in order to disolve GPU_draw.h into more meaningful code blocks.
All the Image related function are in `image_gpu.c`.
All the MovieClip related function are in `movieclip.c`.
The IMB module now has a connection with GPU. This is not strickly
necessary and the code could be move to `image_gpu.c` if needed.
The Image garbage collection is also ported to `image_gpu.c`.
2020-07-29 23:06:37 +02:00
1804a6d040
GPUState: Fix compilation error on MSVC
2020-07-29 15:54:51 +02:00
18d2db22ff
GPU: Move gpu_state.c to C++
2020-07-29 15:03:02 +02:00