Jérôme Leclercq
|
9854ebe950
|
OpenGLRenderer: Disable push/pop group notifications
|
2021-07-09 13:59:06 +02:00 |
Jérôme Leclercq
|
9f410302d2
|
OpenGLRenderer/Context: Cleanup code
|
2021-07-09 12:36:24 +02:00 |
Jérôme Leclercq
|
681cf31b66
|
OpenGLRenderer: Disable notification messages
|
2021-07-09 12:36:00 +02:00 |
Jérôme Leclercq
|
56776c19c4
|
OpenGLRenderer: Fix device features not being correctly reported
|
2021-07-09 12:35:35 +02:00 |
Jérôme Leclercq
|
06b442ab58
|
OpenGLRenderer: Fix depth clamping not being reported as supported
|
2021-07-09 12:34:57 +02:00 |
Jérôme Leclercq
|
552dfbc01e
|
Renderer: Add pipeline and texture sampler info validation
|
2021-07-09 12:34:38 +02:00 |
Jérôme Leclercq
|
8458301a64
|
Add support for depth clamping
|
2021-07-09 00:22:08 +02:00 |
Jérôme Leclercq
|
3a3279246f
|
OpenGLRenderer: Enable GL_ARB_gl_spirv and GL_ARB_texture_filter_anisotropic with OpenGL 4.6
|
2021-07-09 00:01:33 +02:00 |
Jérôme Leclercq
|
309fd547e1
|
Fix compilation errors and warnings
|
2021-07-07 22:38:24 +02:00 |
Jérôme Leclercq
|
f9af35b489
|
Shader: Attribute can now have expressions as values and struct fields can be conditionally supported
|
2021-07-07 22:38:24 +02:00 |
Jérôme Leclercq
|
f14db3f5e9
|
Renderer: Expose RenderTarget and framebuffers indices
|
2021-07-03 13:52:29 +02:00 |
Jérôme Leclercq
|
930142b7a7
|
OpenGLRenderer: Fix double StackVector init
|
2021-07-03 13:35:59 +02:00 |
Jérôme Leclercq
|
343b0a6fd7
|
OpenGLRenderer/Context: Remove GL_AMD_debug_output support
It turns out callbacks are not compatibles between GL_AMD_debug_output and GL_ARB_debug_output (and GL_KHR_debug)
|
2021-07-03 13:01:41 +02:00 |
Jérôme Leclercq
|
9f76c84309
|
OpenGLRenderer/Context: Improve source readability
|
2021-07-03 12:59:06 +02:00 |
Jérôme Leclercq
|
d88c4ecb5b
|
Renderer/Framebuffer: Add GetType (and rework backend internals)
|
2021-06-22 17:30:08 +02:00 |
Jérôme Leclercq
|
c188d0616a
|
OpenGLRenderer: Implement AttachmentLoadOp::Discard using glInvalidateFramebuffer
|
2021-06-22 17:26:40 +02:00 |
Jérôme Leclercq
|
b13c5c950a
|
OpenGLRenderer: Implement face filling
|
2021-06-20 14:06:28 +02:00 |
Jérôme Leclercq
|
8625c0a7ac
|
Fix compilation under Linux
|
2021-06-16 16:50:00 +02:00 |
Jérôme Leclercq
|
3cd9172f7a
|
Graphics: Make use of shader binding sets
|
2021-06-16 16:50:00 +02:00 |
Jérôme Leclercq
|
f22b501e25
|
Add initial support for shader binding sets (WIP)
|
2021-06-16 16:50:00 +02:00 |
Jérôme Leclercq
|
815a7b0c62
|
Replace const ShaderAst::StatementPtr& by ShaderAst::Statement& in input
|
2021-06-16 16:50:00 +02:00 |
Jérôme Leclercq
|
86097b331b
|
Renderer: Add support for device-enabled features (anisotropic filtering)
|
2021-06-05 19:51:48 +02:00 |
Jérôme Leclercq
|
5bc3cd8d8c
|
OpenGLRenderer: Add GL_EXT_texture_compression_s3tc check for DXT pixel formats
|
2021-06-03 17:15:12 +02:00 |
Jérôme Leclercq
|
6161bbec76
|
Renderer: Handle more depthstencil formats (as Depth24Stencil8 may not be supported everywhere)
|
2021-06-02 20:16:43 +02:00 |
Jérôme Leclercq
|
465837ff12
|
Renderer: Add support for cubemaps
|
2021-06-01 12:30:37 +02:00 |
Jérôme Leclercq
|
a90844f0dd
|
Remove X11 dependency properly (as it's handled by SDL and EGL)
|
2021-05-29 00:52:10 +02:00 |
Jérôme Leclercq
|
41baacd9ab
|
Fix linux compilation
|
2021-05-29 00:34:09 +02:00 |
Jérôme Leclercq
|
109b2a156e
|
OpenGLRenderer: Allow RenderPipeline without a fragment shader on OpenGL ES
|
2021-05-29 00:32:00 +02:00 |
Jérôme Leclercq
|
c2b61b6732
|
A lot of fixes
|
2021-05-28 22:58:40 +02:00 |
Jérôme Leclercq
|
ff505e9019
|
Renderer: Implement and fix front face (winding order) between Vulkan / OpenGL
|
2021-05-28 22:58:14 +02:00 |
Jérôme Leclercq
|
299585a7de
|
Renderer: Implement renderpass attachments clear for OpenGL
|
2021-05-28 22:55:56 +02:00 |
Jérôme Leclercq
|
7fe60026be
|
OpenGLRenderer: Minor fixes
|
2021-05-26 22:20:10 +02:00 |
Jérôme Leclercq
|
874fb3542e
|
Convert all remaining enums to enum classes (!)
|
2021-05-25 10:40:07 +02:00 |
Jérôme Leclercq
|
cce32a64d4
|
Upgrade Utility
|
2021-05-25 10:40:07 +02:00 |
Jérôme Leclercq
|
35060ab24e
|
Fix minor stuff
|
2021-05-19 20:32:16 +02:00 |
Lynix
|
13feaf4aab
|
Renderer: RenderWindow now requires a RenderDevice
|
2021-05-16 23:13:00 +02:00 |
Jérôme Leclercq
|
51c099b3ce
|
Renderer: Allow UploadPool to handle very big (>= 2MB) blocks
|
2021-05-15 15:27:17 +02:00 |
Jérôme Leclercq
|
f280cff0a2
|
Renderer: Add release queue to fix deletion while use
|
2021-05-14 02:04:47 +02:00 |
Jérôme Leclercq
|
bbfe06c443
|
Renderer: Fix UploadPool allocations references
|
2021-05-14 01:56:32 +02:00 |
Jérôme Leclercq
|
aeac3282e4
|
Renderer: Add RenderDevice::GetDeviceInfo()
|
2021-05-14 01:55:16 +02:00 |
Jérôme Leclercq
|
adbf1e1da0
|
Renderer: Add proper support for blending
|
2021-05-14 01:50:46 +02:00 |
Jérôme Leclercq
|
61dbd91346
|
Lot of small fixes/improvements
|
2021-05-14 01:48:47 +02:00 |
Jérôme Leclercq
|
10aa7231b6
|
Renderer: Fix MRT support
|
2021-05-05 12:01:20 +02:00 |
Jérôme Leclercq
|
990193ebb4
|
Minor fixes
|
2021-05-02 13:58:56 +02:00 |
Jérôme Leclercq
|
55c2dd8485
|
Add FrameGraph (WIP)
|
2021-05-02 13:58:35 +02:00 |
Jérôme Leclercq
|
044195b209
|
Minor fixes
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
87ce2edc6e
|
Shader: Add initial support for options (WIP)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
d335d44d6a
|
Shader: Cleanup and rename AST files
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
3499c1f92f
|
Shader: Remove the need of layout(std140) in external block
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
e4aabf309e
|
Renderer: Replace ShaderStage by ShaderModule (a module can handle multiple stages)
|
2021-04-20 18:18:27 +02:00 |
Jérôme Leclercq
|
311cfeaf3c
|
OpenGLRenderer: Fix Y flipping for FBOs
|
2021-02-20 19:23:29 +01:00 |
Jérôme Leclercq
|
fb3468854f
|
Renderer: Implement Framebuffers
|
2021-02-20 19:22:08 +01:00 |
Jérôme Leclercq
|
3ef74d6e1d
|
OpenGLRenderer: Use glTexStorage2D instead of glTexImage2D
|
2021-02-20 19:14:13 +01:00 |
Jérôme Leclercq
|
f7442982a4
|
OpenGLRenderer: Implement debug region data
|
2021-02-20 19:10:32 +01:00 |
Jérôme Leclercq
|
8f9f943e2c
|
OpenGLRenderer: Implement primitive mode
|
2021-02-20 18:56:54 +01:00 |
Jérôme Leclercq
|
080fd9c7eb
|
Minor fixes
|
2021-02-15 18:17:30 +01:00 |
Jérôme Leclercq
|
a6b5246633
|
OpenGLRenderer: Fix clear values
|
2021-02-15 18:17:10 +01:00 |
Jérôme Leclercq
|
2ef772cec7
|
Merge branch 'nazara-next' into graphics-next
|
2021-01-28 16:37:46 +01:00 |
Jérôme Leclercq
|
5eedd3c0bc
|
Renderers: Fix UploadPool
|
2021-01-28 15:59:18 +01:00 |
Jérôme Leclercq
|
a6ff64106e
|
Minor stuff
|
2021-01-22 23:23:28 +01:00 |
Jérôme Leclercq
|
d52be87fd5
|
OpenGLRenderer: Fix Draw[Indexed]Data states
|
2021-01-22 23:18:35 +01:00 |
Jérôme Leclercq
|
dbcb4a61d0
|
OpenGLRenderer: Fix context not being shared on OpenGL ES
|
2021-01-22 23:17:55 +01:00 |
Jérôme Leclercq
|
c76d6505b0
|
Renderer/ShaderBinder: Make Update take a pointer and size
|
2021-01-22 23:15:31 +01:00 |
Jérôme Leclercq
|
96d7b9424b
|
Renderer: Handle null textures in shader binding
|
2021-01-14 22:03:01 +01:00 |
Jérôme Leclercq
|
f327932738
|
Commit current work
Reworked conditions, added uber-shaders, comparison nodes, fixed Discard
|
2021-01-02 21:15:59 +01:00 |
Jérôme Leclercq
|
73e86407b3
|
Fix some warnings
|
2020-10-30 23:08:27 +01:00 |
Jérôme Leclercq
|
009e5a0466
|
Renderer: Rename ShaderStageImpl to ShaderStage
|
2020-10-30 23:06:15 +01:00 |
Jérôme Leclercq
|
d243e7bcd2
|
OpenGLRenderer: Move error to string to Utils
|
2020-09-26 20:43:55 +02:00 |
Jérôme Leclercq
|
9291ef6299
|
Disable OpenGL overriding with MSVC / x86
Seems like a bug with MSVC when targetting 32bits targets
|
2020-09-26 11:50:37 +02:00 |
Jérôme Leclercq
|
65337c6a38
|
Fix a lot of warnings and some errors
|
2020-09-26 11:44:09 +02:00 |
Jérôme Leclercq
|
2b6a463a45
|
Remove Nz::String and Nz::StringStream
|
2020-09-25 19:31:01 +02:00 |
Jérôme Leclercq
|
f15709c8a3
|
Renderer: Replace unique_ptr by shared_ptr
|
2020-09-20 15:56:58 +02:00 |
Jérôme Leclercq
|
7a7a67cd40
|
Update OpenGLVaoCache.cpp
|
2020-09-17 18:54:41 +02:00 |
Jérôme Leclercq
|
f8dc5a5516
|
OpenGLRenderer: Default to WGL on Windows
|
2020-09-04 15:23:14 +02:00 |
Jérôme Leclercq
|
ab0cc800e3
|
Remove VMA dependency from OpenGLRenderer
|
2020-09-04 15:22:05 +02:00 |
Jérôme Leclercq
|
d98cddcfe0
|
Remove no longer used code
|
2020-09-04 14:19:11 +02:00 |
Jérôme Leclercq
|
a8b9a8c56d
|
Workaround MSVC bug
|
2020-09-04 14:18:57 +02:00 |
Jérôme Leclercq
|
3082620ef9
|
Remove useless code
|
2020-09-03 16:33:56 +02:00 |
Jérôme Leclercq
|
0255541b44
|
Replace EGL symbol loader
|
2020-09-03 16:33:37 +02:00 |
Jérôme Leclercq
|
addcd52552
|
Try to get around MSVC bug
|
2020-09-03 15:47:43 +02:00 |
Jérôme Leclercq
|
58efffc51f
|
Improve code a bit
Prevent converting back and forth the same function pointer
|
2020-09-03 13:58:45 +02:00 |
Jérôme Leclercq
|
0609a10c25
|
OpenGLRenderer: Get rid of std::function by using function indexes
|
2020-09-03 13:54:44 +02:00 |
Jérôme Leclercq
|
6848ff8b34
|
OpenGLRenderer: Add debug wrapper (which handle OpenGL errors)
|
2020-09-03 13:39:34 +02:00 |
Jérôme Leclercq
|
df33262ab4
|
OpenGLRenderer: Fix context activation
|
2020-09-03 13:18:09 +02:00 |
Jérôme Leclercq
|
d622a75d73
|
Add BufferUsage_Dynamic
Since OpenGL screams in performance warning because of a GL_STATIC_DRAW buffer being updated from another buffer
|
2020-09-02 17:19:52 +02:00 |
Jérôme Leclercq
|
d05df45cb6
|
Fix EGL context sharing
It seems contexts must be part of the same display to be shared, and that using default display with window isn't an issue on Windows/X11
|
2020-09-02 15:40:57 +02:00 |
Jérôme Leclercq
|
bc2f18c852
|
OpenGLRenderer: Try to fix EGLContext sharing with X11
|
2020-09-01 20:10:09 +02:00 |
Jérôme Leclercq
|
f4186fdeac
|
Fix context sharing
|
2020-09-01 20:01:36 +02:00 |
Jérôme Leclercq
|
c4e63a582c
|
OpenGLRenderer: initial support for X11
|
2020-09-01 19:49:50 +02:00 |
Jérôme Leclercq
|
c7b0d103e1
|
OpenGLRenderer: remove opengl32 dependency on Linux
|
2020-09-01 19:28:10 +02:00 |
Jérôme Leclercq
|
ae34533595
|
Minor fixes
|
2020-09-01 18:47:08 +02:00 |
Jérôme Leclercq
|
ef737a8ecd
|
Add basic EGL support
|
2020-09-01 18:46:35 +02:00 |
Jérôme Leclercq
|
ea8f34c45e
|
Rename WGL folder from Win32 to WGL
|
2020-08-28 15:52:31 +02:00 |
Jérôme Leclercq
|
8d873a8307
|
Fix a lot of small errors/warnings
|
2020-08-28 15:42:19 +02:00 |
Jérôme Leclercq
|
51ec9741df
|
OpenGLRenderer: Handle resize/minimize
|
2020-08-27 18:32:22 +02:00 |
Jérôme Leclercq
|
7c9dcdfbe4
|
Allocate command buffers from pools
|
2020-08-27 18:31:26 +02:00 |
Jérôme Leclercq
|
cbdac32f5f
|
VulkanRenderer: Handle window resize
|
2020-08-27 16:16:33 +02:00 |
Jérôme Leclercq
|
608b80981d
|
Fix OpenGL & Vulkan renderers
|
2020-08-11 00:13:00 +02:00 |
Jérôme Leclercq
|
1a12e18a36
|
Fix copyright dates and some defines
|
2020-08-11 00:01:49 +02:00 |
Jérôme Leclercq
|
0313f2d0a6
|
Enable GL_DEBUG_OUTPUT
|
2020-08-09 18:43:44 +02:00 |
Jérôme Leclercq
|
d9b34b4ba8
|
OpenGLRenderer: Handle GL_DEBUG_SEVERITY_NOTIFICATION
|
2020-08-09 18:41:28 +02:00 |
Jérôme Leclercq
|
d4f60c174e
|
OpenGLRenderer: Flip screenspace
|
2020-08-09 18:40:59 +02:00 |
Jérôme Leclercq
|
ac7b523bc7
|
OpenGLRenderer: Fix textures
|
2020-08-09 18:38:58 +02:00 |
Jérôme Leclercq
|
74fb01af28
|
Rename a few classes
|
2020-08-04 15:31:47 +02:00 |
Jérôme Leclercq
|
59add283cf
|
Add shader type
|
2020-07-27 18:52:58 +02:00 |
Jérôme Leclercq
|
1d2fb88198
|
Renderer: Rename enums
ExpressionType => BasicType
ShaderAst::Type => ShaderExpressionType
|
2020-07-16 18:34:58 +02:00 |
Jérôme Leclercq
|
cd01facd01
|
GlslWriter: Handle OpenGL ES precision qualifier
|
2020-07-08 22:52:33 +02:00 |
Jérôme Leclercq
|
b076a517c6
|
Merge branch 'vulkan' into shader-nodes
|
2020-07-08 22:38:24 +02:00 |
Lynix
|
4f671873c1
|
Renderer: Add NazaraBinary shader "language" and handle it in OpenGLRenderer
|
2020-06-18 20:05:22 +02:00 |
Lynix
|
74acf440fc
|
Minor fixes
|
2020-06-18 20:04:25 +02:00 |
Lynix
|
a73251f2df
|
OpenGLRenderer: Fix version parsing
OpenGL ES 3.0 implementations don't seem to follow the spec, use GL_MAJOR_VERSION and GL_MINOR_VERSION instead
|
2020-06-01 17:11:34 +02:00 |
Lynix
|
8f04412a3f
|
OpenGLRenderer: Fix GLES context creation
core profile bit has not meaning to OpenGL ES
|
2020-06-01 16:17:04 +02:00 |
Lynix
|
960a5c2d05
|
OpenGLRenderer: Fix extension loading
|
2020-06-01 16:16:41 +02:00 |
Lynix
|
e0e7435c55
|
Merge fixes
|
2020-05-27 20:03:46 +02:00 |
Lynix
|
8fa456bdf5
|
Renderer: Remake backend selection
|
2020-05-23 22:07:22 +02:00 |
Lynix
|
6a23d51147
|
OpenGL: Implement commands buffers
|
2020-05-11 14:12:13 +02:00 |
Lynix
|
fe5b70ae1c
|
OpenGL: Implement VAOs
|
2020-05-11 14:10:36 +02:00 |
Lynix
|
332278dded
|
OpenGL: Random stuff I forgot
|
2020-05-11 14:05:40 +02:00 |
Lynix
|
2ea03fe05f
|
OpenGL: Implement Framebuffers
|
2020-05-11 14:03:54 +02:00 |
Lynix
|
34804189d8
|
OpenGL: Set GL_TEXTURE_MAX_LEVEL
|
2020-05-11 14:01:57 +02:00 |
Lynix
|
51009cd745
|
OpenGL: Switch to SRGB formats
|
2020-05-11 14:01:45 +02:00 |
Lynix
|
3cf53c4d9a
|
OpenGL: Implement RenderPipeline
|
2020-05-11 14:01:17 +02:00 |
Lynix
|
49c68e581a
|
OpenGL: Fix TextureSampler mipmap issue
|
2020-05-11 13:58:12 +02:00 |
Lynix
|
6073d8f592
|
OpenGL: Implement UploadPool
|
2020-05-11 13:57:11 +02:00 |
Lynix
|
b7a7c84a89
|
Minor fixes
|
2020-04-26 18:22:07 +02:00 |
Lynix
|
32157503e8
|
OpenGL: Implement RenderPipelineLayout
|
2020-04-26 18:21:38 +02:00 |
Lynix
|
0b05feb7e3
|
OpenGL: Implement buffers
|
2020-04-26 18:20:36 +02:00 |
Lynix
|
e9f0b01e02
|
OpenGLRenderer: Implement TextureSampler (and texture units)
|
2020-04-26 16:29:31 +02:00 |
Lynix
|
b4b15f826d
|
OpenGL: Implement textures
|
2020-04-19 15:33:56 +02:00 |
Lynix
|
349e915e10
|
OpenGL: Link contexts to device
|
2020-04-19 15:33:36 +02:00 |
Lynix
|
bd6924d66d
|
OpenGL: Handle Spir-V
|
2020-04-19 15:31:48 +02:00 |
Lynix
|
f63d045676
|
OpenGL: Better handling for activation/desactivation
|
2020-04-19 15:28:59 +02:00 |
Lynix
|
d62e99091f
|
OpenGL: Implement debug callback
|
2020-04-19 15:19:16 +02:00 |
Lynix
|
a842e89881
|
Fix some missing files
|
2020-04-19 01:38:52 +02:00 |
Lynix
|
506099fcd7
|
OpenGL: Implement ShaderStage
|
2020-04-19 01:38:38 +02:00 |
Lynix
|
9dd208c3cf
|
OpenGL: Fix contexts & loaders
|
2020-04-19 01:38:19 +02:00 |
Lynix
|
4dc8920a73
|
Implement some classes
|
2020-04-19 01:37:56 +02:00 |
Lynix
|
5c3eb31d4a
|
OpenGL: Implement device
|
2020-04-19 01:36:44 +02:00 |
Lynix
|
68760209c1
|
Add OpenGLRenderer (WIP)
|
2020-04-15 19:38:11 +02:00 |