Kristian Høgsberg [Fri, 8 Jan 2010 17:35:47 +0000 (12:35 -0500)]
intel/DRI2: add DRI2flushExtension support with invalidate hook
Needed to support the SwapBuffers code properly.
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Jesse Barnes [Mon, 4 Jan 2010 21:26:17 +0000 (16:26 -0500)]
xdemos/glsync: handle no sync method better
Print out count, finish rendering, etc. Makes the -sn option more useful.
Jesse Barnes [Mon, 4 Jan 2010 18:13:57 +0000 (13:13 -0500)]
xdemos/glsync: check glXMakeCurrent return value
Since this program is used for testing, catching this case can be helpful.
Jesse Barnes [Tue, 3 Nov 2009 18:48:17 +0000 (10:48 -0800)]
xdemos/glsync: Make glsync test draw a rectangle
Doing simple buffer clears isn't enough to actually allocate render buffers, we
need to do real drawing.
Jesse Barnes [Mon, 2 Nov 2009 19:20:08 +0000 (11:20 -0800)]
xdemos/glsync: Add swap interval support to glsync test
Jesse Barnes [Thu, 12 Nov 2009 16:48:07 +0000 (16:48 +0000)]
DRI2/GLX: add INTEL_swap_event support
Add event support for the GLX swap buffers event, along with DRI2 protocol
support for generating GLX swap buffers events in the direct rendered case.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Jesse Barnes [Tue, 10 Nov 2009 21:28:01 +0000 (13:28 -0800)]
DRI2: add SwapInterval support
Add support for the DRI2SwapInterval protocol request. This allows
direct rendered clients to control their swap interval per the
SGI_swap_control extension.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Jesse Barnes [Wed, 16 Sep 2009 06:23:09 +0000 (23:23 -0700)]
DRI2: add OML_sync_control support
Add OML_sync_control support, along with a simple program for testing
it. This means adding support for the DRI2GetMSC, DRI2WaitMSC and
DRI2WaitSBC requests.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Jesse Barnes [Fri, 17 Jul 2009 07:30:29 +0000 (03:30 -0400)]
DRI2: add SwapBuffers support
Support the new DRI2 protocol request, DRI2SwapBuffers, in both direct
and indirect rendering context. This request allows the display server
to optimize back->front swaps (e.g. through page flipping) and allows us
to more easily support other GLX features like swap interval and the OML
sync extension in DRI2.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Alan Hourihane [Mon, 4 Jan 2010 17:41:49 +0000 (17:41 +0000)]
fix overflow
Alan Hourihane [Mon, 4 Jan 2010 12:42:51 +0000 (12:42 +0000)]
silence compiler warning
Alan Hourihane [Mon, 4 Jan 2010 12:41:33 +0000 (12:41 +0000)]
Fix test
Andre Maasikas [Tue, 29 Dec 2009 12:47:01 +0000 (14:47 +0200)]
r600: support vertex_array_bgra
Use vertex program key mechanism and swizzle during vertex fetch - is there
a better way?
Kristian Høgsberg [Mon, 4 Jan 2010 04:24:13 +0000 (23:24 -0500)]
Only enable verbose NoOp dispatch if DEBUG is defined
By default we generate a function per GL entry point to warn if it's
called without a context set. This is to allow the function to print
it's name in the warning. By using a generic function that doesn't print
the function name in the non-DEBUG case, we reduce libGL size from
320008 bytes to 283144 bytes (11%).
Kristian Høgsberg [Mon, 4 Jan 2010 03:46:43 +0000 (22:46 -0500)]
Noop dispatch: move warning code out of the generated functions
This reduces libGL size by 11% here, going from 360968 bytes to
320008 bytes.
Kristian Høgsberg [Mon, 4 Jan 2010 01:59:52 +0000 (20:59 -0500)]
Fix glut to work with -fvisibility=hidden
The GLUTAPI #define used in the header file to mark the font structs
visible wasn't kicking in because of the #define glutBitmap9By15 XXX
prior to #include <GL/glut.h>. High quality code... worked around by
copying the GLUTAPI specifier to the invidual C files.
Kristian Høgsberg [Mon, 4 Jan 2010 00:53:01 +0000 (19:53 -0500)]
Export a few glapi functions used by gallium and r300
Fixes breakage from -fvisibility-hidden commit.
Kristian Høgsberg [Sat, 2 Jan 2010 23:59:54 +0000 (18:59 -0500)]
Compile with -fvisibility-hidden by default
We have all functions that need to be visible marked with PUBLIC and
this is trimming around 4% off the DRI driver .so size.
Francis Galiegue [Sun, 3 Jan 2010 16:42:17 +0000 (09:42 -0700)]
mesa: fix blend enable/disable calls in meta.c code
Fixes regression in some DRI drivers since the GL_EXT_draw_buffers2 changes.
Signed-off-by: Brian Paul <brianp@vmware.com>
José Fonseca [Sat, 2 Jan 2010 20:22:52 +0000 (20:22 +0000)]
gallium: Hunt down all references to GALLIUM_AUXILIARY_DIRS.
Marc Dietrich [Sat, 2 Jan 2010 12:51:17 +0000 (13:51 +0100)]
autoconf: fix build breakage
Brian Paul [Sat, 2 Jan 2010 00:50:02 +0000 (17:50 -0700)]
mesa: added _mesa_GetBufferParameteri64v()
This is a new function in GL 3.2. No dispatch for this function yet.
José Fonseca [Sat, 2 Jan 2010 01:12:35 +0000 (01:12 +0000)]
scons: Build glew on all platforms.
It is required for progs.
José Fonseca [Sat, 2 Jan 2010 00:56:01 +0000 (00:56 +0000)]
scons: Update the MSVC SA to match latest scons code.
José Fonseca [Sat, 2 Jan 2010 00:55:29 +0000 (00:55 +0000)]
scons: Axe generic.py.
Progs are now built together with the rest so no longer needed.
José Fonseca [Fri, 1 Jan 2010 22:35:28 +0000 (22:35 +0000)]
scons: Put glut and glew shared libraries into build/xxx/bin or lib.
Use bin subdir for windows dlls, lib for unices.
José Fonseca [Fri, 1 Jan 2010 22:03:07 +0000 (22:03 +0000)]
python: Don't generate a import library for python module either.
José Fonseca [Fri, 1 Jan 2010 21:58:21 +0000 (21:58 +0000)]
i965: Add missing include.
José Fonseca [Fri, 1 Jan 2010 21:55:08 +0000 (21:55 +0000)]
scons: Remove duplicated code.
José Fonseca [Fri, 1 Jan 2010 21:54:51 +0000 (21:54 +0000)]
scons: Disable version symlinking for DLLs.
Fixes windows build.
José Fonseca [Fri, 1 Jan 2010 21:54:01 +0000 (21:54 +0000)]
gdi: Don't generate import libraries for opengl32.dll.
Both MinGW and MSVC include opengl32 import libraries, and its safer to
always use those.
José Fonseca [Fri, 1 Jan 2010 19:58:39 +0000 (19:58 +0000)]
scons: Fix glew build on MSVC.
The environment for building the DLL needs to be quite different from
the environment for building the programs, in order to get
the dllexport/dllimport attribute done currectly. I don't know how MinGW
managed to build the programs, but MS linker refuses to link symbols with
mismatching attributes.
José Fonseca [Fri, 1 Jan 2010 19:39:09 +0000 (19:39 +0000)]
util: Silent potential loss of precision warnings.
Also ensure multiplication doesn't happen for negative numbers.
Igor Oliveira [Fri, 1 Jan 2010 18:03:27 +0000 (19:03 +0100)]
tgsi: Add missing semantic name in text parser.
José Fonseca [Fri, 1 Jan 2010 00:35:43 +0000 (00:35 +0000)]
r300: Fix scons build.
José Fonseca [Fri, 1 Jan 2010 00:22:48 +0000 (00:22 +0000)]
scons: Don't list cell as a driver.
Cell driver's SConscript never got written, and it is not trivial one to
write, so don't accept cell in the driver option to avoid confusion.
José Fonseca [Fri, 1 Jan 2010 00:20:52 +0000 (00:20 +0000)]
llvmpipe: Add missing include path.
The abscense was being masked previously.
José Fonseca [Thu, 31 Dec 2009 23:46:46 +0000 (23:46 +0000)]
gallium: Generate a single library for auxiliaries with Make too.
José Fonseca [Thu, 31 Dec 2009 22:18:17 +0000 (22:18 +0000)]
scons: Aggregate all tiny libraries in a single library.
Makes integration of gallium into out of tree components much easier. No
pratical change for components in this tree,
José Fonseca [Thu, 31 Dec 2009 21:41:24 +0000 (21:41 +0000)]
gallium: Remove the sct module.
Not used, and its functionality is now addressed by
pipe_context::is_texture/buffer_referenced callbacks.
José Fonseca [Thu, 31 Dec 2009 21:10:25 +0000 (21:10 +0000)]
scons: Build progs together with everything else.
This is a substantial reorganization, This particular commit enables:
- building the progs for unices platforms
- glew is now built as a shared library (it is the default, and it is
inconvenient and pointless to shift away from that default)
- all progs get built by default
José Fonseca [Thu, 31 Dec 2009 20:55:33 +0000 (20:55 +0000)]
progs: Ignore derived files.
José Fonseca [Thu, 31 Dec 2009 20:52:06 +0000 (20:52 +0000)]
glsl: Ignore programs.
José Fonseca [Thu, 31 Dec 2009 20:19:18 +0000 (20:19 +0000)]
scons: Don't globally define WIN32_LEAN_AND_MEAN.
Some of the demo progams legitimately need the functionality
that's disabled by WIN32_LEAN_AND_MEAN.
Instead the solution should be to define WIN32_LEAN_AND_MEAN just before
including windows.h on a case by case basis.
José Fonseca [Thu, 31 Dec 2009 20:14:30 +0000 (20:14 +0000)]
mesa: Avoid WIN32_LEAN_AND_MEAN re-definition.
José Fonseca [Fri, 1 Jan 2010 11:20:38 +0000 (11:20 +0000)]
mesa: Make condrender.[ch] prototypes match.
GLAPI on windows is more than "extern" -- it includes the --, so the
mismatch between condrender.[ch] prototypes causes "different linkage"
errors on windows.
José Fonseca [Thu, 31 Dec 2009 17:58:56 +0000 (17:58 +0000)]
scons: Expose convienience libraries to the host environment.
This fixes MinGW cross compilation build, recently broken due to the use
of convenience libraries in the GLSL preprocessor.
José Fonseca [Thu, 31 Dec 2009 17:53:23 +0000 (17:53 +0000)]
glut: Silent the glut*_ATEXIT_HACK defined but not used warnings.
There are two ways to silent this: put inline keyword, or reimplement the
hack as a #define. inline keyword actually varies slightly with compiler
so I've opted by the latter.
Christoph Bumiller [Thu, 31 Dec 2009 21:24:13 +0000 (22:24 +0100)]
nv50: small fix for handling "dangerous" swizzles
Brian Paul [Thu, 31 Dec 2009 16:02:27 +0000 (09:02 -0700)]
Merge branch 'mesa_7_7_branch'
Conflicts:
configs/darwin
src/gallium/auxiliary/util/u_clear.h
src/gallium/state_trackers/xorg/xorg_exa_tgsi.c
src/mesa/drivers/dri/i965/brw_draw_upload.c
Brian Paul [Thu, 31 Dec 2009 15:50:26 +0000 (08:50 -0700)]
mesa: remove a line of dead code
Brian Paul [Thu, 31 Dec 2009 15:48:52 +0000 (08:48 -0700)]
docs: 7.8 relnotes: GL_NV_conditional_render and GL_EXT_draw_buffers2
Brian Paul [Thu, 31 Dec 2009 15:48:27 +0000 (08:48 -0700)]
mesa: enable ColorMaskIndexed in display lists
Brian Paul [Thu, 31 Dec 2009 15:46:36 +0000 (08:46 -0700)]
progs/tests: added test for GL_EXT_draw_buffers2
Render into two color buffers (render targets). Display half of each
buffer in the window. Use different color masks for each render target.
Only enable blending for the second render target.
Brian Paul [Thu, 31 Dec 2009 15:46:09 +0000 (08:46 -0700)]
mesa: enable GL_EXT_draw_buffers2 for sw drivers
Brian Paul [Thu, 31 Dec 2009 04:42:12 +0000 (21:42 -0700)]
docs: update status for conditional rendering
Brian Paul [Thu, 31 Dec 2009 04:41:37 +0000 (21:41 -0700)]
progs/tests: added conditional rendering test program
Brian Paul [Thu, 31 Dec 2009 04:40:54 +0000 (21:40 -0700)]
mesa: turn on NV_conditional_render for software drivers
Brian Paul [Thu, 31 Dec 2009 04:40:12 +0000 (21:40 -0700)]
swrast: add check for conditional rendering
Brian Paul [Thu, 31 Dec 2009 04:40:03 +0000 (21:40 -0700)]
tnl: add check for conditional rendering
Brian Paul [Thu, 31 Dec 2009 04:39:46 +0000 (21:39 -0700)]
mesa: plug in API functions for conditional rendering
Brian Paul [Thu, 31 Dec 2009 04:38:58 +0000 (21:38 -0700)]
mesa: added dispatch for GL_NV_conditional_render extension
Brian Paul [Thu, 31 Dec 2009 04:37:54 +0000 (21:37 -0700)]
mesa: added FLUSH_VERTICES(), more comments
Brian Paul [Wed, 30 Dec 2009 21:49:49 +0000 (14:49 -0700)]
mesa: add flag for GL_NV_conditional_render extension
Brian Paul [Wed, 30 Dec 2009 21:47:06 +0000 (14:47 -0700)]
mesa: _mesa_Begin/EndConditionalRender() functions
For GL_NV_conditional_render and GL3.
The drawing functions don't check the query object yet.
No API dispatch yet.
Brian Paul [Wed, 30 Dec 2009 21:42:14 +0000 (14:42 -0700)]
mesa: make _mesa_lookup_query_object() an non-private inline function
Brian Paul [Thu, 31 Dec 2009 15:44:24 +0000 (08:44 -0700)]
swrast: use different temp array in _swrast_get_dest_rgba()
When using multiple color drawbuffers with blending/logicop/masking we
were overwriting color values which we still needed.
Christoph Bumiller [Thu, 31 Dec 2009 12:38:53 +0000 (13:38 +0100)]
nv50: fix TEXLOD sequence and use it only in FPs
Christoph Bumiller [Wed, 30 Dec 2009 20:25:13 +0000 (21:25 +0100)]
nv50: cannot kill branch if immediate is used
The immediate's bits eat the condition bits.
Christoph Bumiller [Wed, 30 Dec 2009 20:17:31 +0000 (21:17 +0100)]
nv50: make assimilate_temp safe
Cannot change hw reg assigned to a TGSI TEMP on the fly if
we are in a loop, conditional, or can jump around wildly.
Christoph Bumiller [Wed, 30 Dec 2009 19:54:58 +0000 (20:54 +0100)]
nv50: handle TGSI_OPCODE_EXP,LOG
Not that they make much sense on nv50, but we also do LIT ...
Christoph Bumiller [Thu, 31 Dec 2009 11:26:14 +0000 (12:26 +0100)]
nv50: add support for subroutines
Christoph Bumiller [Wed, 30 Dec 2009 23:37:47 +0000 (00:37 +0100)]
nv50: alloc_reg on reg_instance
If we create multiple instances of an nv50_reg referencing
them same resource, register allocation from alloc_reg has
to be done with the original nv50_reg.
Christoph Bumiller [Tue, 29 Dec 2009 11:04:34 +0000 (12:04 +0100)]
nv50: multiply polygon offset units by 2
Christoph Bumiller [Mon, 28 Dec 2009 23:02:45 +0000 (00:02 +0100)]
nv50: neg and abs modifiers for flops
Also fixes RSQ of negative sources.
Christoph Bumiller [Mon, 28 Dec 2009 22:17:26 +0000 (23:17 +0100)]
nv50: don't negate immediates in set_immd
This negation would only be triggered in situations
where it's incorrect.
The caller of set_immd should negate the immediate value
in the instruction itself if desired, and will also know
if it's a float or an int.
ADD TEMP[0], CONST[0], -IMMD[0] would load the immediate
into extra TEMP, negated, and set the negate flag in add
as well - double negation.
Vinson Lee [Thu, 31 Dec 2009 08:07:47 +0000 (00:07 -0800)]
mesa: Silence unused variable warning.
Vinson Lee [Wed, 30 Dec 2009 20:38:21 +0000 (12:38 -0800)]
progs/glsl: Provide a better fix for fgets warning.
Brian Paul [Wed, 30 Dec 2009 17:39:20 +0000 (10:39 -0700)]
docs: added GL 3.x feature checklist to track what's done in Mesa
Brian Paul [Wed, 30 Dec 2009 17:30:16 +0000 (10:30 -0700)]
mesa: implement _mesa_GetStringi() for GL3
Note: not plugged into the dispatch table yet.
Brian Paul [Wed, 30 Dec 2009 17:29:53 +0000 (10:29 -0700)]
mesa: _mesa_get_enabled_extension() function
Brian Paul [Wed, 30 Dec 2009 17:16:01 +0000 (10:16 -0700)]
mesa: implement GL3 GL_NUM_EXTENSIONS query
Brian Paul [Wed, 30 Dec 2009 17:13:31 +0000 (10:13 -0700)]
mesa: simplify some extension testing code
Brian Paul [Wed, 30 Dec 2009 16:45:58 +0000 (09:45 -0700)]
mesa: display list support for glClearBuffer functions
Note: some code disabled until dispatch table supports GL3 entrypoints.
Brian Paul [Wed, 30 Dec 2009 16:25:24 +0000 (09:25 -0700)]
mesa: implement GL3 glClearBuffer() functions
These functions clear color/depth/stencil buffers with a value that's
passed to the function, rather than the context clear values.
For now these functions are implemented in terms of the existing
ctx->Driver.Clear() hook. In the future when we have non-normalized
integer and unsigned integer color buffer formats we'll need new
driver hook(s) to pass int and uint clear values to the driver.
Note: these functions are not hooked into the dispatch table at this time.
Brian Paul [Mon, 28 Dec 2009 22:12:14 +0000 (15:12 -0700)]
mklib: use a wrapper for ar
Luca Barbieri [Wed, 30 Dec 2009 01:54:39 +0000 (02:54 +0100)]
nouveau: Fix glTexSubImage on swizzled surfaces on <=NV40
Currently in nvXX_transfer_new a temporary as large as the surface is created.
If the subrectangle is not the whole texture we would need to read
back the whole texture, but we aren't.
Thus, everything but the subrectangle specified is loaded as garbage.
This can be seen in progs/demos/ray.
This patch fixes the problem by creating a temporary that covers only
the desired subrectangle.
That makes us hit an alignment assert in nv04_surface_2d.c. Fix it
using the point registers instead of manipulating the swizzled surface
offset to account for the destination coordinates (which do not seem
to have a 1024 limit).
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Brian Paul [Wed, 30 Dec 2009 06:24:04 +0000 (23:24 -0700)]
st/mesa: add PIPE_FORMAT_Z24S8_UNORM in st_get_format_info()
Fixes progs/demos/fbotexture on Nouveau.
Patch submitted by Luca Barbieri <luca@luca-barbieri.com>.
Vinson Lee [Wed, 30 Dec 2009 06:29:53 +0000 (22:29 -0800)]
glu/sgi: Initialize members of struct O_nurbssurface.
Brian Paul [Wed, 30 Dec 2009 06:04:27 +0000 (23:04 -0700)]
mesa: fix-up blend enable/disable code in _mesa_PopAttrib()
Brian Paul [Wed, 30 Dec 2009 05:58:44 +0000 (22:58 -0700)]
mesa: finish-up indexed color mask code in _mesa_PopAttrib()
Brian Paul [Wed, 30 Dec 2009 05:56:32 +0000 (22:56 -0700)]
mesa: plug in GL_EXT_draw_buffers2 functions
Brian Paul [Wed, 30 Dec 2009 05:55:57 +0000 (22:55 -0700)]
mesa: regenerate API files related to GL_EXT_draw_buffers2
Brian Paul [Wed, 30 Dec 2009 05:54:30 +0000 (22:54 -0700)]
glapi: extension info for GL_EXT_draw_buffers2
Vinson Lee [Wed, 30 Dec 2009 05:34:06 +0000 (21:34 -0800)]
tdfx: Silence uninitialized variable warning.
Vinson Lee [Wed, 30 Dec 2009 05:11:37 +0000 (21:11 -0800)]
progs/glsl: Silence compiler warnings.
Vinson Lee [Wed, 30 Dec 2009 05:03:23 +0000 (21:03 -0800)]
glu/sgi: Silence warn_unused_result warnings.
Vinson Lee [Wed, 30 Dec 2009 04:56:47 +0000 (20:56 -0800)]
st/xorg: Use C-style comments.
Vinson Lee [Wed, 30 Dec 2009 04:45:24 +0000 (20:45 -0800)]
glu/sgi: Initialize member of struct GridVertex.
Jakob Bornecrantz [Wed, 30 Dec 2009 04:08:09 +0000 (05:08 +0100)]
st/xorg: Fix warning and add a TODO comment