Commit Graph

22115 Commits

Author SHA1 Message Date
Jakob Bornecrantz 1196885293 trace: Fix args to buffer write 2009-03-22 04:33:36 +01:00
José Fonseca 3708aaeaff util: Add a new macro for testing empty lists. 2009-03-23 12:05:07 +00:00
Brian Paul bab6d6bfe9 softpipe: reformatting, comments, minor clean-ups 2009-03-22 18:11:12 -06:00
Brian Paul 0f82aa5f15 tgsi: minor comments 2009-03-22 18:10:10 -06:00
Michal Krol 699897e81c tgsi: Document KIL, KILP instructions. 2009-03-21 12:26:15 +01:00
Keith Whitwell 1bb60d25e0 gallium: remove remaining references to origin_lower_left 2009-03-21 10:55:45 +00:00
Michal Krol d7b7b63bd7 st: Silence compiler warnings. 2009-03-21 11:46:54 +01:00
Brian Paul 401cbd0d23 gallium: remove use of origin_lower_left
This was used to indicate OpenGL's lower-left origin for fragment window
coordinates for polygon stipple and gl_FragCoord.

Now:
  - fragment coordinate origin is always upper-left corner
  - GL polygon stipple is inverted and shifted before given to gallium
  - GL fragment programs that use INPUT[WPOS] are modified to use an
    inverted window coord which is placed in a temp register.

Note: the origin_lower_left field still exists in pipe_rasterizer_state.
Remove it when all the drivers, etc. no longer reference it.
2009-03-20 20:29:07 -06:00
Brian Paul 1f45ae0813 mesa: add new internal state var for window size
Actually, window width - 1, height - 1
2009-03-20 20:29:06 -06:00
Brian Paul 12256fc2b2 mesa: linear scan register allocation for shader programs
This is a check-point commit; not turned on yet.

Use the linear scan register allocation algorithm to re-allocate temporary
registers.  This is done by computing the live intervals for registers and
reallocating temps with that information.

For some shaders this dramatically reduces the number of temp registers
needed.

For the time being we give up on a few cases such as relative-indexed temps
and subroutine calls (but we inline most GLSL functions anyway).
2009-03-20 17:15:21 -06:00
Brian Paul c9caecaffa docs: updated Mesa extension enum info 2009-03-20 17:15:21 -06:00
Corbin Simpson f411a66c06 r300-gallium: Misspelled macro name.
*pulls paper bag down over head*
2009-03-20 14:53:21 -07:00
Corbin Simpson edfaa68609 r300-gallium: Put r300_cs_inlines to bed.
Guess it was a mistake in the first place. Oops.
2009-03-20 14:53:21 -07:00
Corbin Simpson 8066edb2a2 r300-gallium: Simplify/neaten up packet3.
Deck chairs on the Hindenburg. :3
2009-03-20 14:53:21 -07:00
Corbin Simpson f142958084 r300-gallium: Clean up surface_fill, prep for surface_copy code. 2009-03-20 14:53:21 -07:00
Corbin Simpson 04fe31cd5e r300-gallium: Properly offset scissors.
As per r300_reg, classic Mesa, and xf86-video-ati.
2009-03-20 14:53:20 -07:00
Corbin Simpson adb40a94b0 r300-gallium: Clean up r300_swtcl_emit.
Some compile warnings, some statements without effect.
2009-03-20 14:53:20 -07:00
Corbin Simpson f3f5e04103 r300-gallium: Clean up some emit, and some state handlers. 2009-03-20 14:53:20 -07:00
Corbin Simpson 8852ac2b35 r300-gallium: A bit more invariant state. 2009-03-20 14:53:20 -07:00
José Fonseca 48f6e75489 gallium: Explain what happens if buffer_flush_mapped_range isn't called. 2009-03-20 18:34:24 +00:00
Keith Whitwell 210b468722 gallium/util: add upload manager helper module
Add a module that will manage uploading and coalescing multiple
user-buffers, malloc-buffers and other random data that doesn't
happen to be in a GPU buffer already.  The module stuffs multiple
little uploads into larger GPU buffers to reduce create/destroy
overheads, etc.
2009-03-20 18:07:11 +00:00
Eric Anholt 66175aac76 Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.
This requires upgrading the interface so that the argument to
glXBindTexImageEXT isn't just dropped on the floor.  Note that this only
fixes the accelerated path on Intel, as Mesa's texture format support is
missing x8r8g8b8 support (right now, GL_RGB textures get uploaded as a8r8gb8,
but in this case we're not doing the upload so we can't really work around it
that way).

Fixes bugs with compositors trying to use shaders that use alpha channels, on
windows without a valid alpha channel.  Bug #19910 and likely others as well.

Reviewed-by:	Ian Romanick <ian.d.romanick@intel.com>
2009-03-20 10:41:28 -07:00
Michal Krol cf0122e892 progs/wgl: Send a resize message after context have been created. 2009-03-20 16:48:54 +01:00
Michal Krol d6e877d0d7 stw: Do not err on nil context handle in MakeCurrent(). 2009-03-20 16:36:23 +01:00
Michal Krol 9bbffcced4 progs/wgl: Create GL context in a thread that actually uses it. 2009-03-20 16:16:49 +01:00
Michal Krol e8aa5a1018 progs/wgl: Make context current to get GL_RENDERER string. 2009-03-20 16:13:39 +01:00
Michal Krol 5465f3adf9 stw: Use u_handle_table to maintain context list. 2009-03-20 15:45:00 +01:00
Michal Krol 36e985e96e winsys/gdi: Init state tracker's per-thread data. 2009-03-20 13:06:28 +01:00
Michal Krol 4489f9efee stw: Keep per-thread storage for current context and pixel format. 2009-03-20 13:05:51 +01:00
Michal Krol 3d4246e22e slang: Use _mesa_snprintf() wrapper. 2009-03-20 12:19:40 +01:00
Alan Hourihane 114bb54324 slang: initialize the context 2009-03-19 22:38:01 +00:00
Alan Hourihane e3aedec868 slang: support uniform arrays 2009-03-19 22:06:53 +00:00
Jakob Bornecrantz c9a318a7c6 trace: Formalize on a standard for data size pair 2009-03-19 19:18:38 +01:00
Brian Paul bbd208b60c glslcompiler: added new options to override debug/optimization pragmas 2009-03-19 10:29:13 -06:00
Brian Paul 65fc2ca82a glsl: change GLSL #pragma initialization
Initialize the shader's pragma settings before calling the compiler.
Added pragma "Ignore" fields to allow overriding the #pragma directives found
in shader source code.
2009-03-19 10:29:13 -06:00
Alan Hourihane a57d7edf06 egl: fix comment 2009-03-19 15:39:01 +00:00
Alan Hourihane 9ed03af8c0 egl: try harder for eglGetProcAddress() 2009-03-19 15:37:25 +00:00
Brian Paul 214132adfe glsl: when debug pragma is on, emit comments about function calls/inlines
BTW, the debug pragma syntax is "#pragma debug(on)"
2009-03-19 09:26:20 -06:00
Alan Hourihane 264c3d218a mesa: check renderbuffer is defined before use. 2009-03-19 13:59:09 +00:00
Jakob Bornecrantz 9e84e7def1 st/gl: Only transfer needed parts in st_TexSubimage 2009-03-19 02:23:06 +01:00
Alan Hourihane 989856bde4 slang: if/else/break & if/else/continue work for unrolled loops 2009-03-19 10:17:30 +00:00
Michal Krol 1342664434 wgl: Add an `-s' option to wglthreads to force single-threaded operation. 2009-03-19 11:16:01 +01:00
Michal Krol 355e9bb45c swrast: Silence compiler warnings, give better structure to the code as a result. 2009-03-19 10:39:57 +01:00
Michal Krol 4b55a4f74d tgsi: Document vs_2_0 instruction set operations. 2009-03-19 09:53:34 +01:00
Michal Krol 7c50917b42 tgsi: Document vs_1_1 instruction set operations. 2009-03-19 09:53:31 +01:00
Michal Krol a1f4b5d8b8 tgsi: Begin documenting ps_2_x instruction set operations. 2009-03-19 09:53:29 +01:00
Corbin Simpson db83ee1647 r300-gallium: Emit viewport state.
Note that this will break you, hard, if you're not using RADEON_NO_TCL.
I really need to start vertex shaders soon.
2009-03-18 15:44:04 -07:00
Corbin Simpson 3a648d0cf2 r300-gallium: Viewport state storage. 2009-03-18 15:44:04 -07:00
Corbin Simpson 5b97ba4eb0 r300-gallium: Fixup registers for viewport state. 2009-03-18 15:44:04 -07:00
Brian Paul a577471c54 mesa: use the IROUND() macro in pixel packing code
It turns out some tests are sensitive to rounding vs. truncating when
converting float color values to integers in glReadPixels().  In particular,
this matters when the destination format is 5/6/5 or 4/4/4/4, etc.
2009-03-18 15:45:38 -06:00