Commit graph

201327 commits

Author SHA1 Message Date
Brian
64a97680a7 bug fixes, implement state atom for pixel transfer 2007-10-30 11:32:53 -06:00
Brian
8234935b65 check for NULL ptr in _mesa_print_parameter_list() 2007-10-30 11:32:53 -06:00
Brian
ba0fcc47d6 Set _NEW_BUFFERS in glRead/DrawBuffer().
Previously, we set _NEW_PIXEL and _NEW_COLOR in these functions, respectively.
That correponds to the GL attribute groups, but doesn't make much sense
otherwise.  This could improve validation efficiency in a few places too.
It looks like all the drivers are already checking for _NEW_BUFFERS in the
right places (since that's the bit for FBO state) so we can trim out
_NEW_PIXEL and _NEW_COLOR at any time.
2007-10-30 11:32:53 -06:00
Brian
b19a933930 comment unused 'cb' field 2007-10-30 11:32:53 -06:00
Brian
cc9b4df5cb update comments, fix typo 2007-10-30 11:32:53 -06:00
Brian
1203f54686 make _mesa_combine_programs() params const 2007-10-30 11:32:52 -06:00
Brian
bcc026893b added st_pixeltransfer.c 2007-10-30 11:32:52 -06:00
Brian
cf56a99fb0 Initial version of st_get_pixel_transfer_program().
For generating fragment programs which implement pixel transfer ops.
2007-10-30 11:32:52 -06:00
Brian
9ffd88911f Added _mesa_combine_programs() for concatenating two programs. 2007-10-30 11:32:52 -06:00
Brian
4b30d177b4 added _mesa_combine_parameter_lists() 2007-10-30 11:32:52 -06:00
Michel Dänzer
d2f19a554a Fix some build warnings, mostly with XCB. 2007-10-30 17:58:50 +01:00
Brian
a7f64635a6 Alias glStencilOpSeparateATI with glStencilOpSeparate. 2007-10-30 10:24:34 -06:00
Brian
8b8a970593 test glStencilFuncSeparateATI() 2007-10-30 10:23:58 -06:00
Brian
f70ca96ba9 Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
2007-10-30 09:13:58 -06:00
Roland Scheidegger
4c53635aab add missing _mesa_StencilFuncSeparateATI function 2007-10-30 14:09:17 +01:00
Zack Rusin
449562cde0 Switch to using LLVM builder.
Instead of creating all the instructions by hand, switching
to using LLVMBuilder.
2007-10-30 09:00:36 -04:00
Michel Dänzer
3177b4e2cf More vblank cleanups.
* Fix crash at context creation in most drivers supporting vblank.
* Don't pass vblank sequence or flags to functions that get passed the drawable
  private already.
* Attempt to initialize vblank related drawable private fields just once
  per drawable. May need more work in some drivers.
2007-10-30 13:16:50 +01:00
Zack Rusin
c97c03da46 Refactor vector extraction. 2007-10-30 07:43:02 -04:00
Zack Rusin
dfd774318d Export true C based builtins to a file of its own. 2007-10-30 07:16:22 -04:00
Zack Rusin
a01341a762 Rename to better reflect what it's really doing. 2007-10-30 06:55:08 -04:00
Zack Rusin
ea2c74a25e Code cleanups. 2007-10-30 06:33:30 -04:00
Zack Rusin
a94251d081 Cleanup constant vector handling a bit. 2007-10-30 05:15:06 -04:00
Zack Rusin
75a9018fb9 Dump only relevant functions when in the debugging output. 2007-10-30 05:15:06 -04:00
Zack Rusin
fd908ce234 Change the way we handle temporaries in LLVM translation.
TGSI uses TEMP, among others, as a way of passing arguments
from one function to another. Instead of trying to figure out
which temp's a function needs and trying to dynamically adjust its
signature just pass the whole array of temporaries to them.
2007-10-30 05:15:05 -04:00
Zack Rusin
b0f3b5910e Enable immediates in TGSI and work with them in LLVM code.
Enables immediates by default in the TGSI translation code
and adds code handling it in llvm tgsi translation.
2007-10-30 05:15:05 -04:00
Brian
8b2f997af5 minor code simplification 2007-10-29 15:15:34 -06:00
Brian
64ffc9540b fix memcpy bugs 2007-10-29 15:15:34 -06:00
Brian
1553eba50c Rewrite update_program() to use _mesa_get_fixed_func_fragment/vertex_program(). 2007-10-29 15:15:34 -06:00
Brian
f18d4e058e Remove ctx field from texenvprog_cache 2007-10-29 15:15:34 -06:00
Brian
9946012949 refactoring to begin removing dependency on tnl context 2007-10-29 15:15:34 -06:00
Brian
783cedcdc1 simplify getting of current frag prog 2007-10-29 15:15:34 -06:00
Brian
27153bf02d Refactor _tnl_UpdateFixedFunctionProgram().
New _mesa_get_fixed_func_vertex_program() function...
2007-10-29 15:15:34 -06:00
Brian
83ce6c51d7 Refactor _mesa_UpdateTexEnvProgram()
Will be replaced by _mesa_get_fixed_func_fragment_program().
2007-10-29 15:15:34 -06:00
Eric Anholt
dc1264970e [i915] Include header to pick up intel_ttm_bo_create_from_handle() proto. 2007-10-29 13:24:29 -07:00
Eric Anholt
b0edb9c38a Merge branch 'origin' 2007-10-29 13:24:27 -07:00
Michal Krol
918ea5168b Rename 'mms-config.' to 'mms.config'.
It looks like Windows does not like filenames ending with a dot,
in effect renaming it to 'mms-config'.
2007-10-29 19:50:10 +00:00
Jesse Barnes
ad8ee7db3b Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa 2007-10-29 12:06:36 -07:00
Jesse Barnes
38fdb47d26 Refactor and fix core vblank support
Consolidate support for synchronizing to and retrieving vblank counters.  Also
fix the core vblank code to return monotonic MSC counters, which are required
by some GLX extensions.  Adding support for multiple pipes to a low level
driver is fairly easy, the Intel 965 driver provides simple example code (see
intel_buffers.c:intelWindowMoved()).

The new code bumps the media stream counter extension version to 2 and adds a
new getDrawableMSC callback.  This callback takes a drawablePrivate pointer,
which is used to calculate the MSC value seen by clients based on the actual
vblank counter(s) returned from the kernel.  The new drawable private fields
are as follows:
  - vblSeq - used for tracking vblank counts for buffer swapping
  - vblFlags - flags (e.g. current pipe), updated by low level driver
  - msc_base - MSC counter from the last time the current pipe changed
  - vblank_base - kernel DRM vblank counter from the last time the pipe changed

Using the above variables, the core vblank code (in vblank.c) can calculate a
monotonic MSC value.  The low level DRI drivers are responsible for updating
the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags)
along with msc_base and vblank_base whenever the pipe associated with a given
drawable changes (again, see intelWindowMoved for an example of this).

Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to
driDrawableGetMSC32 and add code for pipe switching as outlined above to fully
support the new scheme.
2007-10-29 12:06:00 -07:00
Dan Nicholson
06ca14543e Build xdemos programs by default on linux-dri
Since libglut is no longer hardcoded, we can build the xdemos programs
so long as a GLX enabled libGL and libGLU have been built.
2007-10-29 11:43:20 -07:00
Chris Rankin
1421bffb18 Remember to call XSync() before resetting X error handler. 2007-10-29 14:37:32 -04:00
Dan Nicholson
3b9e28d507 linux-dri-xcb: Fix undefined refs when linking with libGL
GL_LIB_DEPS was missing -lXdamage and -lXfixes, which was causing
linker errors when trying to build the programs.
2007-10-29 11:17:04 -07:00
José Fonseca
f33ced441c Update intel_is_format_supported. 2007-10-29 17:37:05 +00:00
Michal Krol
da9815e17f Add detailed comments. 2007-10-29 17:36:20 +00:00
Michal Krol
7de874ec2c Make it compile under linux.
Move pipe_region/surface_reference functions to pipe/p_inlines.h.
Remove #include "p_util.h" from pipe/p_context.h.
2007-10-29 17:05:38 +00:00
Michal Krol
ee295fccdd Make gallium compile in win32.
Use FREE, MALLOC, CALLOC, GETENV wrappers.
Silence compiler warnings.
Add proper copyrights.
2007-10-29 17:05:38 +00:00
Brian
d37eb130c0 remove dead code 2007-10-29 10:37:12 -06:00
Brian
ebe1642d7a check for signed vs. unsigned in st_get_format_info() - fixes accum buffer failure 2007-10-29 10:36:10 -06:00
Brian
40133487db disable ctx->Driver.NewProgram() call in _mesa_new_program()
This was causing infinite recursive calls w/ software drivers.
All vertex/fragment shaders should be allocated by calling
ctx->Driver.NewProgram(), not by calling _mesa_new_program().
2007-10-29 10:01:15 -06:00
Brian
b58b64f361 fix bad fragment shader pointer assignment 2007-10-29 09:41:53 -06:00
Brian
cc0b55c242 simplify code which access the current vertex/fragment shaders 2007-10-29 09:25:00 -06:00