Dave Airlie [Fri, 28 Nov 2008 09:38:47 +0000 (19:38 +1000)]
intel: restore old vertex submit paths for i8xx hardware.
Intel docs state that only 830/845 have VBOs, 855/865 don't. So
lets just not use them on i8xx at all.
This restores the old pre-vbo code and uses it on all 8xx hw.
Brian [Tue, 2 Dec 2008 01:32:47 +0000 (18:32 -0700)]
mesa: fix conditional in save_Lightfv(), bug 18838
Eric Anholt [Fri, 28 Nov 2008 20:43:10 +0000 (12:43 -0800)]
i965: Add a new state flag BRW_NEW_NR_SURFACES instead of CACHE_NEW_SURFACE
The CACHE_NEW_SURFACE bit always gets spammed since we get many different
surface BOs per state emit, but the only consumer of it wanted to just know
how many surfaces were enabled.
Eric Anholt [Fri, 28 Nov 2008 20:16:51 +0000 (12:16 -0800)]
i965: Fix clashing enums for BRW_NEW_INDICES/VERTICES versus BATCH/DEPTH_BUFFER.
Fixes upload of large amounts of state for every new primitive emit.
Eric Anholt [Fri, 28 Nov 2008 19:58:00 +0000 (11:58 -0800)]
i965: Remove BRW_WM_LOCK dirty bit, introduced to work around lack of relocs.
This was causing a prepare of wm state at every primitive emit.
Eric Anholt [Thu, 27 Nov 2008 20:26:00 +0000 (12:26 -0800)]
i965: Add debug code for dumping how frequently different dirty bits are set.
Eric Anholt [Thu, 27 Nov 2008 04:42:59 +0000 (20:42 -0800)]
i915: Remove dead early z enable bit which was always on.
Eric Anholt [Thu, 27 Nov 2008 03:22:37 +0000 (19:22 -0800)]
i965: Reduce fast-pathiness of brw_try_draw_prims, bringing in important checks.
Later primitives, even if they caused a full state validate, wouldn't check
that there was enough space in the batchbuffer, occasionally triggering the
sanity check. We also skipped the aperture space check, even if it would
mean bringing in new programs and associated state.
Brian Paul [Fri, 28 Nov 2008 23:17:38 +0000 (16:17 -0700)]
mesa: add missing break statements
Brian Paul [Fri, 28 Nov 2008 21:08:04 +0000 (14:08 -0700)]
mesa: enable texture compression extensions for software drivers when possible
Phillip Klaus Krause [Fri, 28 Nov 2008 20:54:08 +0000 (13:54 -0700)]
mesa: remove unneeded compressed texure size checks
Brian Paul [Fri, 28 Nov 2008 20:50:41 +0000 (13:50 -0700)]
mesa: fix default switch case in append_token(), see bug 18734
Brian Paul [Thu, 27 Nov 2008 18:01:30 +0000 (11:01 -0700)]
mesa: remove an assertion (see bug 18734)
RALOVICH, Kristóf [Thu, 27 Nov 2008 11:53:43 +0000 (12:53 +0100)]
Revert "glx: xcbified visual and FBConfig choosing"
This reverts commit
62688f11355cfa865d420755aa159875b425cc9b.
RALOVICH, Kristóf [Thu, 27 Nov 2008 11:53:19 +0000 (12:53 +0100)]
Revert "glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX"
This reverts commit
53698765019e50172be25a4ff48c83d54f0e7981.
RALOVICH, Kristóf [Sat, 8 Nov 2008 17:18:26 +0000 (18:18 +0100)]
glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX
This uses a GLX VendorPrivate request. VendorPrivates are real GLX API
calls but use the same protocol request. XCB does not currently
support specific VendorPrivetes directly. See eg.:
http://lists.freedesktop.org/archives/xcb/2008-November/004036.html
for more information.
RALOVICH, Kristóf [Sat, 8 Nov 2008 16:58:55 +0000 (17:58 +0100)]
glx: remove XCB debug leftover
RALOVICH, Kristóf [Tue, 4 Nov 2008 16:30:21 +0000 (17:30 +0100)]
glx: xcbified glXSwapBuffers
RALOVICH, Kristóf [Tue, 4 Nov 2008 16:17:18 +0000 (17:17 +0100)]
glx: xcbified visual and FBConfig choosing
RALOVICH, Kristóf [Tue, 4 Nov 2008 11:41:55 +0000 (12:41 +0100)]
glx: xcbified __glXClientInfo
RALOVICH, Kristóf [Tue, 4 Nov 2008 10:53:32 +0000 (11:53 +0100)]
configure.ac: advertise XCB
RALOVICH, Kristóf [Tue, 4 Nov 2008 10:31:53 +0000 (11:31 +0100)]
glx: no graphics context during initialization
RALOVICH, Kristóf [Tue, 4 Nov 2008 09:59:39 +0000 (10:59 +0100)]
glx: xcbified __glXIsDirect
RALOVICH, Kristóf [Tue, 4 Nov 2008 09:43:06 +0000 (10:43 +0100)]
glx: missing static on local function
RALOVICH, Kristóf [Mon, 3 Nov 2008 17:32:35 +0000 (18:32 +0100)]
glx: use __glXGetString
RALOVICH, Kristóf [Mon, 3 Nov 2008 17:32:20 +0000 (18:32 +0100)]
glx: use __glXQueryServerString
RALOVICH, Kristóf [Mon, 3 Nov 2008 17:31:22 +0000 (18:31 +0100)]
glx: implement __glXGetString, hide __glXGetStringFromServer
RALOVICH, Kristóf [Sat, 18 Oct 2008 15:00:13 +0000 (17:00 +0200)]
glx: implement QueryVersion using XCB
RALOVICH, Kristóf [Sat, 18 Oct 2008 14:53:08 +0000 (16:53 +0200)]
glx: implement __glXQueryServerString using XCB
Thomas Henn [Wed, 26 Nov 2008 16:51:29 +0000 (09:51 -0700)]
windows: fix visual object memleak
Thomas Henn [Wed, 26 Nov 2008 16:49:32 +0000 (09:49 -0700)]
windows: fix _mesa_unreference_framebuffer() to pass ** type.
Brian Paul [Wed, 26 Nov 2008 16:35:26 +0000 (09:35 -0700)]
mesa: add missing type check for function calls
Brian Paul [Wed, 26 Nov 2008 16:35:08 +0000 (09:35 -0700)]
mesa: add missing size check for assignment optimization
Brian Paul [Wed, 26 Nov 2008 16:02:37 +0000 (09:02 -0700)]
mesa: remove debug code
Brian Paul [Wed, 26 Nov 2008 16:00:44 +0000 (09:00 -0700)]
demos: press SPACE to toggle fbo_firecube animation
Brian Paul [Wed, 26 Nov 2008 14:21:12 +0000 (07:21 -0700)]
mesa: add some missing switch cases for generating state var strings
Daniel Zimmermann [Wed, 26 Nov 2008 10:48:53 +0000 (11:48 +0100)]
fix possible memory leak in bezierPatchMeshMake
Brian Paul [Tue, 25 Nov 2008 00:18:56 +0000 (17:18 -0700)]
mesa: added support for GLSL 1.20 array.length() method
This is the only method supported in GLSL 1.20 so we take a few short-cuts.
Brian Paul [Mon, 24 Nov 2008 22:28:21 +0000 (15:28 -0700)]
mesa: support for GLSL 1.20 array types
This allows syntax like "float[8] foo, bar;"
Brian Paul [Mon, 24 Nov 2008 20:04:04 +0000 (13:04 -0700)]
mesa: add gl_program::Input/OutputFlags[] array
These arrays will indicate per-input or per-output options for vertex/fragment
programs such as centroid-sampling and invariance.
Bernd Buschinski [Mon, 24 Nov 2008 19:39:07 +0000 (11:39 -0800)]
glx: Add missing include for XCB, fixing crash on 64-bit.
Bug #18689
Brian Paul [Mon, 24 Nov 2008 18:10:58 +0000 (11:10 -0700)]
windows: replace free() with _mesa_unreference_framebuffer()
Fixes invalid memory reference bug when exiting.
Brian Paul [Mon, 24 Nov 2008 16:28:25 +0000 (09:28 -0700)]
mesa: copy centroid/invariance/precision info in parse_init_declarator()
Brian Paul [Mon, 24 Nov 2008 16:25:05 +0000 (09:25 -0700)]
mesa: check that varying variable qualifiers agree
Brian Paul [Mon, 24 Nov 2008 16:13:14 +0000 (09:13 -0700)]
mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()
Brian Paul [Mon, 24 Nov 2008 16:05:49 +0000 (09:05 -0700)]
mesa: set flags for varying vars
Brian Paul [Mon, 24 Nov 2008 16:04:52 +0000 (09:04 -0700)]
mesa: rename program parameter flags to match other Mesa conventions
Brian Paul [Mon, 24 Nov 2008 16:04:11 +0000 (09:04 -0700)]
mesa: copy Flags in _mesa_clone_parameter_list()
Brian Paul [Mon, 24 Nov 2008 16:03:47 +0000 (09:03 -0700)]
mesa: dump/debug varying vars list
Brian Paul [Mon, 24 Nov 2008 15:43:38 +0000 (08:43 -0700)]
mesa: added PROG_PARAM_ bits for invariant, flat/linear interpolation
Plus, update the print/debug code.
Brian Paul [Mon, 24 Nov 2008 15:33:49 +0000 (08:33 -0700)]
mesa: add Flags field to gl_program_parameter
Only one flag defined so far: PROG_PARAM_CENTROID_BIT
Brian Paul [Mon, 24 Nov 2008 15:14:28 +0000 (08:14 -0700)]
docs: update webmaster email addr
Brian Paul [Sat, 22 Nov 2008 00:22:16 +0000 (17:22 -0700)]
mesa: issue error, don't crash, when calling a prototyped, but undefined function
Bug #18659.
Brian Paul [Fri, 21 Nov 2008 21:24:28 +0000 (14:24 -0700)]
mesa: better variable name: s/aux/store/
Brian Paul [Fri, 21 Nov 2008 17:03:19 +0000 (10:03 -0700)]
added progs/demos/fragcoord.c - tests gl_FragCoord attribute in fragment shader
Fragment's red/greenb/blue is a function gl_FragCoord.xyz
Eric Anholt [Fri, 21 Nov 2008 09:09:47 +0000 (17:09 +0800)]
i965: Add support for accelerated CopyTexSubImage.
There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after
the offsets had been adjusted for a negative pitch. It appears that those
hacks were due to an unclear and surprising aspect of the hardware: inverting
the pitch results in the blit into the specified rectangle being inverted,
without the user needing to adjust y and base offset.
Tested with piglit copytexsubimage test on 915GM and GM965. Should fix
serious performance issues with ETQW and other applications.
Eric Anholt [Fri, 21 Nov 2008 04:05:21 +0000 (12:05 +0800)]
intel: Don't glBitmap fallback with scissoring enabled.
The blit bitmap code already handles scissoring. This is a 15-100% speedup on
blender benchmark.blend thanks to avoiding fallbacks. Bug #17951.
Eric Anholt [Fri, 14 Nov 2008 02:32:44 +0000 (18:32 -0800)]
i915: Don't overwrite i915's Viewport function from generic code.
Instead, have i965 and i915 both call the generic function from their Viewport.
Xiang, Haihao [Thu, 20 Nov 2008 08:54:16 +0000 (16:54 +0800)]
mesa: fix shadow sampling unit issue.
texture comparison logic is bypassed if the currently bound texture is not
a depth/depth_stencil texture.
airlied [Thu, 20 Nov 2008 11:27:45 +0000 (21:27 +1000)]
intel: fix i830 comment + backwards VB offsets.
According to Keith the docs have these offsets the other way around
airlied [Thu, 20 Nov 2008 11:14:45 +0000 (21:14 +1000)]
intel: fix i8xx vbo enable bit
airlied [Thu, 20 Nov 2008 08:18:20 +0000 (18:18 +1000)]
intel: add lots of i830 engine to intel_decode debug
Brian Paul [Wed, 19 Nov 2008 23:04:37 +0000 (16:04 -0700)]
mesa: minor comment reformattting
Brian Paul [Wed, 19 Nov 2008 22:08:46 +0000 (15:08 -0700)]
mesa: glsl compiler debug code
RETURN0 macro reports file/line before returning zero.
Brian Paul [Wed, 19 Nov 2008 21:12:25 +0000 (14:12 -0700)]
mesa: rework GLSL array code generation
We now express arrays in terms of indirect addressing. For example:
dst = a[i];
becomes:
MOV dst, TEMP[1 + TEMP[2].y];
At instruction-emit time indirect addressing is converted into ARL/
ADDR-relative form:
ARL ADDR.x, TEMP[2].y;
MOV dst, TEMP[1 + ADDR.x];
This fixes a number of array-related issues. Arrays of arrays and complex
array/struct nesting works now.
There may be some regressions, but more work is coming.
Brian Paul [Fri, 14 Nov 2008 20:19:42 +0000 (13:19 -0700)]
mesa: don't realloc instruction buffer so often
Brian Paul [Fri, 14 Nov 2008 20:19:31 +0000 (13:19 -0700)]
mesa: updated comment
Xiang, Haihao [Wed, 19 Nov 2008 03:22:35 +0000 (11:22 +0800)]
mesa: clamp luminance if needed.
This fixes glReadPixels(GL_LUMINANCE, GL_FLOAT)/glGetTexImage(GL_LUMINANCE, GL_FLOAT) issue
on fixed-point color buffers.
Brian Paul [Fri, 14 Nov 2008 01:18:07 +0000 (18:18 -0700)]
mesa: no longer need Writemask field in GLSL IR nodes
The Swizzle and Size fields carry all the info we need now.
Brian Paul [Fri, 14 Nov 2008 00:02:11 +0000 (17:02 -0700)]
mesa: revamp GLSL instruction emit code
This is a step toward better array handling code. In particular, when more
than one operand of an instruction uses indirect addressing, we'll need some
temporary instructions and registers. By converting IR storage to instruction
operands all in one place (emit_instruction()) we can be smarter about this.
Also, somewhat better handling of dst register swizzle/writemask handling.
This results in tighter writemasks on some instructions which is good for
SOA execution.
And, cleaner instruction commenting with inst_comment().
Next: remove some more dead code and additional clean-ups...
Brian Paul [Thu, 13 Nov 2008 23:37:52 +0000 (16:37 -0700)]
mesa: make writemask_string() non-static
Brian Paul [Thu, 13 Nov 2008 23:31:27 +0000 (16:31 -0700)]
mesa: remove some do-nothing GLSL code
Brian Paul [Thu, 13 Nov 2008 15:47:36 +0000 (08:47 -0700)]
mesa: fix accidental regression in GLSL built-in texture matrix lookup
Was broken by commit
9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.
Brian Paul [Thu, 13 Nov 2008 15:46:45 +0000 (08:46 -0700)]
mesa: use the tighter definition of GLSL ftransform() from the gallium branches
Brian Paul [Wed, 12 Nov 2008 23:47:03 +0000 (16:47 -0700)]
mesa: remove unused/obsolete __NormalMatrixTranspose matrix
Brian Paul [Wed, 12 Nov 2008 23:44:47 +0000 (16:44 -0700)]
mesa: fix bug in GLSL built-in matrix state lookup
Brian Paul [Wed, 12 Nov 2008 18:12:10 +0000 (11:12 -0700)]
mesa: tweak program register printing for RelAddr case
Alan Hourihane [Thu, 13 Nov 2008 13:16:03 +0000 (13:16 +0000)]
mesa: fix generation of fixed function state when no vp exists
Eric Anholt [Wed, 12 Nov 2008 21:37:16 +0000 (13:37 -0800)]
i965: Upload state on primitive switch, don't just prepare it.
This was a regression in
59b2c2adbbece27ccf54e58b598ea29cb3a5aa85 that broke
blender, among other apps.
Eric Anholt [Wed, 12 Nov 2008 21:34:20 +0000 (13:34 -0800)]
i965: Fix VB refcount leak on aperture overflow.
Eric Anholt [Tue, 4 Nov 2008 20:34:29 +0000 (12:34 -0800)]
Add glsync demo program from jbarnes for testing vblank synchronization.
Eric Anholt [Mon, 3 Nov 2008 02:50:59 +0000 (18:50 -0800)]
i965: Fix up VS max_threads for G4X and removing a magic number.
As far as I can read in the docs, VS threads can be 1:1 with the pairs of
VUE handles allocated for them. Also, G4X can run twice as many threads as
before (though we won't unless the we bump the preferred URB entries for VS).
Eric Anholt [Mon, 3 Nov 2008 02:49:33 +0000 (18:49 -0800)]
i965: Fix up SF max_threads.
We were dividing the number of URB entries by two to get number of threads,
which looks suspiciously like a copy'n'paste-o from brw_vs_state.c. Also, the
maximum number of threads is 24, not 12.
Eric Anholt [Mon, 3 Nov 2008 02:43:10 +0000 (18:43 -0800)]
i965: Fix up clip min_nr_entries, preferred_nr_entries, and max_threads.
The clip thread could potentially deadlock when processing tristrips since
being moved back to dual-thread mode, as the two threads could each have 4 VUEs
referenced and not be able to allocate another one since SF processing
wasn't able to continue (needing 5 entries before it freed 2).
In constrained URB mode, similar deadlock could even have occurred with
polygons (so we cut back max_threads if we can't handle it any primitive type).
Eric Anholt [Mon, 3 Nov 2008 02:42:17 +0000 (18:42 -0800)]
i965: Update WM maximum threads for G4X.
Eric Anholt [Mon, 3 Nov 2008 02:48:25 +0000 (18:48 -0800)]
i965: Add a big comment explaining my understanding of URB management.
It shouldn't offer anything new over what's in the docs (except for G4X notes),
but here it's all in one place.
Kristian Høgsberg [Wed, 12 Nov 2008 20:24:45 +0000 (15:24 -0500)]
glFlush before CopySubBuffer, fix coordinates and extension name typo.
Hanno Böck [Wed, 12 Nov 2008 13:56:42 +0000 (06:56 -0700)]
glx: fix xcb build
Brian Paul [Tue, 11 Nov 2008 21:33:11 +0000 (14:33 -0700)]
mesa: fix version check in dinoshade.c
Brian Paul [Tue, 11 Nov 2008 17:47:10 +0000 (10:47 -0700)]
mesa: allow relative indexing into all register files and indirect dst register indexing
Kristian Høgsberg [Tue, 11 Nov 2008 18:39:52 +0000 (13:39 -0500)]
Don't mess with emacs tab width.
Xiang, Haihao [Tue, 11 Nov 2008 05:42:13 +0000 (13:42 +0800)]
intel: reset cliprect_mode to IGNORE_CLIPRECTS.
This ensures all batchbuffers have a same cliprect mode after calling
_intel_batchbuffer_flush even if there aren't invalid commands in the
current batch buffer. (fix bug#18362).
Xiang, Haihao [Tue, 11 Nov 2008 05:36:32 +0000 (13:36 +0800)]
mesa: restore the negate flag of dots in build_lighting.
Dots is re-used if more than one light is enabled. Previously
the negate flag of dots may affect next light.
Xiang, Haihao [Tue, 11 Nov 2008 05:16:20 +0000 (13:16 +0800)]
mesa: update new state for RasterPos like other operations.
This fixes a lighting issue when drawing a bitmap.
Brian [Tue, 11 Nov 2008 03:15:28 +0000 (20:15 -0700)]
mesa: new _mesa_is_pow_two() function
Brian Paul [Mon, 10 Nov 2008 23:38:47 +0000 (16:38 -0700)]
mesa: restore glapi/ prefix on #include
Brian Paul [Mon, 10 Nov 2008 21:42:02 +0000 (14:42 -0700)]
mesa: fix some misc breakage caused by editing auto-generated files rather than the python generators
Specifically:
#include "glapitable.h" in src/mesa/main/glapi/dispatch.h
Call _mesa_bsearch() in src/mesa/main/enums.c.
Brian Paul [Mon, 10 Nov 2008 21:27:42 +0000 (14:27 -0700)]
GLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()
See bug 18445.
When getting array results, __glXReadReply() always reads a multiple of
four bytes. This can cause writing to invalid memory when 'n' is not a
multiple of four.
Special-case the glAreTexturesResident() functions now.
To fix the bug, we use a temporary buffer that's a multiple of four bytes
in length.
NOTE: this commit also reverts part of commit
919ec22ecf72aa163e1b97d8c7381002131ed32c
(glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection) which
directly edited the indirect.c file rather than the python generator!
I'm not repairing that issue at this time.
Brian Paul [Mon, 10 Nov 2008 19:37:08 +0000 (12:37 -0700)]
dri: alloc __DRIscreen object with calloc()
Brian Paul [Mon, 10 Nov 2008 19:33:17 +0000 (12:33 -0700)]
mesa: track initialization status of uniform variables. Plus, asst clean-ups.