Commit graph

13859 commits

Author SHA1 Message Date
Brian Paul
c0d3b7679a i965: implement GL_EXT_texture_swizzle
If the texture swizzle is not XYZW (no-op) add an extra MOV instruction
after the TEX instruction to rearrange the components.
2009-01-28 14:50:03 -07:00
Brian Paul
9e7903e492 i965: minor clean-up, comments, etc. 2009-01-28 14:48:41 -07:00
Brian Paul
68acc61fc3 Merge commit 'origin/master' into texture_swizzle 2009-01-28 14:45:18 -07:00
Brian Paul
faa48915d2 i965: fix bug in pass0_precalc_mov()
Previously, "in-place" swizzles such as:
   MOV t, t.xxyx;
were handled incorrectly.  Fixed by splitting the one loop into two loops so we
get all the refs before assigning them (to avoid potential clobbering).
2009-01-28 14:35:58 -07:00
Brian Paul
2ace634024 i965: minor comment additions/edits 2009-01-28 14:33:07 -07:00
Brian Paul
89fddf978c i965: minor improvements in brw_wm_populate_key() 2009-01-28 11:42:42 -07:00
Brian Paul
177eda834e i965: remove pad field 2009-01-28 11:38:42 -07:00
Brian Paul
f78c388b6c i965: widen per-texture bitfields for 16 texture image units 2009-01-28 11:37:11 -07:00
Brian Paul
3147d7785d i965: minor comments 2009-01-28 11:36:39 -07:00
Brian Paul
72f0b4a55b mesa: additional GL_INVALID_OPERATION tests for texture swizzle 2009-01-28 10:44:04 -07:00
Brian Paul
54c62ba5c3 mesa: implement texture swizzling in swrast
And enable GL_EXT_texture_swizzle for software drivers.
2009-01-28 10:31:05 -07:00
Brian Paul
4a89e51c5f mesa: set/get new state for GL_EXT_texture_swizzle 2009-01-28 10:27:33 -07:00
Brian Paul
be1a76f88f mesa: if texObj is NULL in fetch_texel_*(), return black. 2009-01-28 09:16:11 -07:00
Eric Anholt
0f72de5538 dri2: add complaints for more initialization failures.
Somehow we're running into DRI2Authenticate failing, and silent demotion to
swrast is bad.
2009-01-27 14:34:29 -08:00
Eric Anholt
65d39a9eed intel: clean up more pf mess. 2009-01-27 12:05:47 -08:00
Brian Paul
318e53a4bf mesa: refactor glTexParameter code 2009-01-27 11:07:21 -07:00
Brian Paul
38768dbc76 mesa: move call to _mesa_update_framebuffer_visual()
Update the visual info in the _mesa_test_framebuffer_completeness()
function when we've determined the FBO to be "complete".

Fixes regression seen in progs/demos/shadowtex.c
2009-01-27 09:49:27 -07:00
Brian Paul
3cf7f9887a i915: rename some functions 2009-01-26 17:23:59 -07:00
Brian Paul
d0c8ed73cc intel: replace i915/intel_state.c and i965/intel_state.c with shared file 2009-01-26 16:40:08 -07:00
Brian Paul
69fd665b64 intel: whitespace changes 2009-01-26 16:38:01 -07:00
Brian Paul
84c8b5bbf9 intel: move some driver functions around
A step toward consolidating i915/intel_state.c and i965/intel_state.c
2009-01-26 16:33:45 -07:00
Brian Paul
72ee0e247d intel: check if stencil test is enabled in intel_stencil_drawpixels() 2009-01-26 14:22:30 -07:00
Brian Paul
723648f2ee intel: save/restore GL matrix mode in intel_meta_set_passthrough_transform(), intel_meta_restore_transform() 2009-01-26 14:01:32 -07:00
Brian Paul
36daee1c7b intel: asst. casts to silence warnings 2009-01-26 12:44:05 -07:00
Brian Paul
6c244b0f32 intel: #include clean-ups 2009-01-26 12:39:29 -07:00
Brian Paul
d555cdbe3e intel: remove old #includes 2009-01-26 12:39:28 -07:00
Brian Paul
aae2729aeb intel: make intelUpdateScreenFromSAREA() static 2009-01-26 12:39:28 -07:00
Brian Paul
66c7f06413 intel: remove unused var 2009-01-26 12:39:28 -07:00
Brian Paul
4006c5e452 intel: move intelInitExtensions() and related code into new intel_extensions.c 2009-01-26 12:39:28 -07:00
Brian Paul
4451eb2e75 intel: move glClear-related code into new intel_clear.c file 2009-01-26 12:39:28 -07:00
Brian Paul
6fcebbe719 intel: Move swap-related functions from intel_buffers.c to new intel_swapbuffers.c 2009-01-26 12:39:28 -07:00
Brian Paul
3b23a8e07d i965: scissor rect was inverted when rendering to texture 2009-01-26 12:39:28 -07:00
Robert Ellison
523febe12e mesa: add missing texture_put_row_rgb() function in texrender.c
The wrap_texture() function doesn't set the renderbuffer PutRowRGB() method,
which is used to implement DrawPixels().  This fix adds an implementation
of this method.
2009-01-26 10:23:38 -07:00
Brian Paul
ea8d0aa94b docs: added GL_NV_texture_env_combine4 2009-01-23 17:40:24 -07:00
Brian Paul
cba5ce1665 Merge branch 'tex_combine4' 2009-01-23 17:39:44 -07:00
Brian Paul
628b52241b i965: init array->Format fields (see bug 19708) 2009-01-23 17:37:21 -07:00
Brian Paul
96ee3db6f7 intel: enable GL_NV_texture_env_combine4 extension 2009-01-23 17:32:59 -07:00
Brian Paul
d4757cd02a mesa: enable GL_NV_texture_env_combine4 for sw drivers 2009-01-23 17:32:32 -07:00
Brian Paul
6947f85cb5 mesa: updated fragment shader codegen for GL_NV_texture_env_combine4
Expand struct fields, increase loops and handle new 4-term ADD modes.
Plus, some new assertions to catch switch/default cases that may be incorrect.
2009-01-23 17:32:09 -07:00
Brian Paul
2d508c1d5c swrast: updates for GL_NV_texture_env_combine4 2009-01-23 17:30:54 -07:00
Brian Paul
e082314cab mesa: update state setup/validation for GL_NV_texture_env_combine4 2009-01-23 17:30:33 -07:00
Brian Paul
08fbbdd4dc mesa: update glTexEnv(), glGetTexEnv() for GL_NV_texture_env_combine4 2009-01-23 17:30:03 -07:00
Brian Paul
f5d3027c0a mesa: initial changes for GL_NV_texture_env_combine4 2009-01-23 17:29:26 -07:00
Brian Paul
ded949ed06 mesa: set the new array->Format field in VBO code
Should help to solve failed assertion in i965 driver (see bug 19708)
2009-01-23 16:41:15 -07:00
Jesse Barnes
e57e398960 intel: fix the mismerge of the vblank pipe enable sanity check
Fix the last merge fix, had the blocks ordered incorrectly.
2009-01-23 13:18:13 -08:00
Brian Paul
ad338c14c2 mesa: consolidate glGetTexEnvi/f() code with new get_texenvi() helper 2009-01-23 14:15:45 -07:00
Jesse Barnes
216bff5fd4 intel: move pipe enable sanity check to where it belongs
Bah, applied the patches in the wrong order, not Owain's fault...
2009-01-23 13:13:23 -08:00
Owain Ainsworth
0b5266ff64 intel: fix vblank crtc selection with DRI1 when only one pipe is enabled.
On Mobile chipsets, we often enable PipeB instead of PipeA, but the test
in here was insufficient, falling back to pipe A if the area
intersection returned zero. Therefore, in the case where a window went
off to the top of the left of the screen, it would freeze, waiting on
the wrong vblank.

Fix this mess by checking the sarea for a crtc being zero sized, and in
that case always default to the other one.
2009-01-23 12:58:49 -08:00
Owain G. Ainsworth
39b4061bb9 intel: Prevent an "irq is not working" printf when only pipe B is enabled.
intelMakeCurrent is called before intelWindowMoved (in fact, it calls
it), so calculation of the correct vblank crtc has not happened yet.
Fix this by making a function that fixes up a set of vblank flags and
call if from both functions.
2009-01-23 12:51:19 -08:00
Brian Paul
0a40033047 mesa: refactor _mesa_TexEnvfv() code with helper functions 2009-01-23 13:44:12 -07:00