Commit Graph

275 Commits

Author SHA1 Message Date
rdb 3c6b6e47ec glgsg: don't call glLineWidth with higher value than maximum
Officially, in core profile OpenGL 3.2+, calling it with a value higher than 1.0 is an error, but many vendors seem to let us.  Apple's implementation does not.  It appears that checking the maximum line width is a way to deal with this.

Fixes #466
2018-12-04 15:53:56 +01:00
rdb 8ad0cb6b57 glgsg: add support for p3d_FragData fragment output
This is necessary for GLSL 1.30 which deprecates gl_FragData but does not yet support layout(location=) specifiers

Also fix some function pointer checks for pre-GL 3.0

Fixes #455
2018-11-22 23:55:54 +01:00
rdb 53cec96c07 Fix draw calls being listed under Primitive Setup in PStats, etc.
Previously, all draw calls would be grouped under "Primitive Setup", rather than under the appropriate bin collector.  This commit fixes that and adds a few other useful collectors as well.
2018-11-20 12:41:30 +01:00
rdb c18cdcf36e display: add support for debug markers, to help with debugging
This is useful when running Panda in a tool like apitrace, so that the different calls in a frame are ordered in a neat hierarchy.
2018-11-20 12:41:20 +01:00
rdb 2556d006f7 glgsg: a few version check tweaks 2018-08-05 13:09:25 +02:00
rdb 02b32a5814 glgsg: support vertices-float64 in core profile shaders
Requires OpenGL 4.1 or GL_ARB_vertex_attrib_64bit extension.
2018-07-26 22:58:15 +02:00
rdb 06539f5c66 glsl: support passing uint variables to shader 2018-07-17 22:32:34 +02:00
rdb 828233a8f2 glgsg: support gl-depth-zero-to-one to get same NDC Z range as D3D 2018-07-12 14:13:32 +02:00
rdb b88bd99704 Various compiler warning fixes 2018-06-12 12:38:07 +02:00
Sam Edwards 7790f8429d general: Fully qualify header references into the std namespace
Closes #341
2018-06-07 10:35:12 +02:00
Sam Edwards 159b43e563 general: Address a few more compiler warnings 2018-06-01 02:54:13 -06:00
rdb 9638eb47eb Add support for geometry with adjacency information
Example code: https://gist.github.com/rdb/7cebb8941b962c59d5a092048efb3855
2018-03-01 21:20:19 +01:00
rdb 7ee9467f8d shadows: fix shadow buffer creation deadlock in multithreaded pipeline
Fixes #162
2017-12-30 17:47:15 +01:00
rdb 48c811e112 cull: remove GeomMunger stored on CullableObject 2017-07-03 11:47:59 +02:00
rdb 7755a2e1c7 shadows: provide dummy shadow maps for nonexistent/noncasting lights 2017-05-15 14:50:50 +02:00
Jose Luis Cercos Pita aa00138b34 Support core-only OpenGL contexts in the default build.
This is a squashed commit of the following, as well as my own (rdb's) revisions:

commit 80662759a18607743316f75ee6aa4a63c3f8d8e6
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 15:07:29 2016 +0100

    Removed some useless fixed pipeline checks

commit 563b5dbe93b451006ddbf3797aabdda7482ef3de
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 14:19:21 2016 +0100

    Improved the LUMINANCE check system

commit 596036a8bb59d627f703bccfdc399dc31e1723a9
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:30:45 2016 +0100

    Removed some useless fixed pipeline checks

commit 0f7fa7cd33860c3cde1b4594731271170301b42d
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:26:07 2016 +0100

    Don't try to check if fixed pipeline is available before the context has been generated

commit 56ed18e29dcb0a7cb0feccd0d50038416637427f
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:14:49 2016 +0100

    Assuming the fixed pipeline is available in GL 3.1 contexts

commit 73075ead73be21c8ce9a468ed92eb2c8c7d548c4
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Fri Nov 4 12:59:45 2016 +0100

    Fixed errors while quering for GL_TEXTURE_LUMINANCE_SIZE and GL_TEXTURE_INTENSITY_SIZE in GL >= 4.0 core profile contexts

commit 3f799ed20be22f6f82de13445c5f9515a424ef9f
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Fri Dec 16 10:01:03 2016 +0100

    Added fixed functions pipeline support check at runtime

Closes: 128
2017-02-19 20:15:54 +01:00
rdb 34068dc0c1 Implement support for SSBOs 2016-12-13 21:22:17 +01:00
rdb b1d61b7b10 Fix back-to-front sorting with gl-coordinate-system set to a custom value 2016-12-07 19:36:31 +01:00
rdb 84789ecdd1 Fix GL compile error on Mac OS X 2016-12-04 21:28:52 +01:00
rdb 441b791e57 Fix extract_texture_data for buffer textures 2016-11-29 23:05:01 +01:00
rdb 723c1de520 Fix various emscripten compile issues 2016-04-28 21:15:46 +02:00
rdb f0cd1ce315 ColorBlendAttrib: support separate alpha mode and dual-src blend. bam 6.42 2016-04-08 15:44:57 +02:00
rdb e73a89705b Improve OpenGL ES support, add OpenGL ES 3 support 2016-04-04 17:00:27 +02:00
rdb 82ab126ea7 Add support for glLogicOp via LogicOpAttrib / NodePath::set_logic_op 2016-03-25 17:33:30 +01:00
rdb 46562b700d Support FBOs without any attachments 2016-03-12 20:42:27 +01:00
rdb 711c97ad6d A few glgsg fixes from tobspr 2016-03-02 16:24:38 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 6eb460c359 Add ability to cache compiled GLSL shaders, remove unused ShaderUtilization 2016-01-13 19:58:11 +01:00
rdb 9e14c16e1a Collect supported shader binary formats 2015-12-26 20:07:28 +01:00
rdb 08c29313b2 Reduce redundant state changes, add gl-fixed-vertex-attrib-locations 2015-12-22 20:22:24 +01:00
rdb 927a5bd48b More efficiently manage which vertex arrays are enabled/disabled 2015-12-21 21:23:20 +01:00
rdb 88e5cdfd86 More efficient clears for FBO 2015-12-21 17:59:48 +01:00
rdb dc0f40cadd Use multibind when binding textures and samplers to a shader 2015-12-21 17:59:28 +01:00
rdb 49d69a6b36 OpenGL debug tweaks, allow disabling texture LOD functionality 2015-12-15 12:45:50 +01:00
rdb 735bdaf924 Merge branch 'release/1.9.x'
Conflicts:
	panda/src/glstuff/glGraphicsStateGuardian_src.h
2015-12-10 13:58:24 +01:00
rdb c0f48900e0 More OpenGL compatibility for versions older than 2.0 2015-12-10 13:52:40 +01:00
rdb 8822ac0b05 Support DSA version of mipmap generation 2015-11-11 17:08:09 +01:00
rdb bac5401a9d Add GL function pointers for indirect draw 2015-10-28 13:18:12 +01:00
rdb aca077916d Add flag enabling vertex shader control over point size 2015-10-17 12:11:11 +02:00
rdb 3ece15bba0 Implement texture clears for buffer textures 2015-08-23 17:13:12 +02:00
rdb 782c4db634 Instead of checking every 100 end_frame() calls, check for errors every second. 2015-08-11 19:11:56 +02:00
rdb a24531ff7b Various GL tweaks 2015-08-11 15:45:27 +02:00
rdb c41a4120bc Fix OSX compile error due to Apple's broken glext.h 2015-08-07 21:41:15 +02:00
rdb 62cefcab8b Update glext to make more recent GL functionality available 2015-07-31 13:20:38 +02:00
rdb f22cc71995 Fix double-precision build blibli 2015-07-29 14:07:06 +02:00
rdb e4c3301bd0 Shader context input state tracking system, for more efficiently updating shader inputs 2015-07-28 16:33:34 +02:00
rdb f33e450823 A lot of performance changes, particularly wrt dcasts and state management 2015-07-27 16:32:57 +02:00
rdb 1bb1cc79f4 Improve reporting of supported extensions and compressed formats 2015-07-19 20:13:55 +02:00
rdb 555844f82a Allow compiling out the fixed-function pipeline and request core context 2015-07-09 16:43:45 +02:00
rdb 220015a234 Drop support for vertex blend/matrix palette in OpenGL, no driver ever supported it (well) 2015-07-09 14:26:24 +02:00