Brian Paul [Mon, 26 Jan 2009 19:38:46 +0000 (12:38 -0700)]
intel: #include clean-ups
Brian Paul [Mon, 26 Jan 2009 19:37:14 +0000 (12:37 -0700)]
intel: remove old #includes
Brian Paul [Mon, 26 Jan 2009 19:36:17 +0000 (12:36 -0700)]
intel: make intelUpdateScreenFromSAREA() static
Brian Paul [Mon, 26 Jan 2009 19:33:58 +0000 (12:33 -0700)]
intel: remove unused var
Brian Paul [Mon, 26 Jan 2009 19:22:04 +0000 (12:22 -0700)]
intel: move intelInitExtensions() and related code into new intel_extensions.c
Brian Paul [Mon, 26 Jan 2009 19:02:25 +0000 (12:02 -0700)]
intel: move glClear-related code into new intel_clear.c file
Brian Paul [Mon, 26 Jan 2009 18:53:06 +0000 (11:53 -0700)]
intel: Move swap-related functions from intel_buffers.c to new intel_swapbuffers.c
Brian Paul [Mon, 26 Jan 2009 18:38:30 +0000 (11:38 -0700)]
i965: scissor rect was inverted when rendering to texture
Robert Ellison [Mon, 26 Jan 2009 17:22:34 +0000 (10:22 -0700)]
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.
Brian Paul [Sat, 24 Jan 2009 00:40:24 +0000 (17:40 -0700)]
docs: added GL_NV_texture_env_combine4
Brian Paul [Sat, 24 Jan 2009 00:39:44 +0000 (17:39 -0700)]
Merge branch 'tex_combine4'
Brian Paul [Sat, 24 Jan 2009 00:37:21 +0000 (17:37 -0700)]
i965: init array->Format fields (see bug 19708)
Brian Paul [Sat, 24 Jan 2009 00:32:59 +0000 (17:32 -0700)]
intel: enable GL_NV_texture_env_combine4 extension
Brian Paul [Sat, 24 Jan 2009 00:32:32 +0000 (17:32 -0700)]
mesa: enable GL_NV_texture_env_combine4 for sw drivers
Brian Paul [Sat, 24 Jan 2009 00:32:09 +0000 (17:32 -0700)]
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.
Brian Paul [Sat, 24 Jan 2009 00:30:54 +0000 (17:30 -0700)]
swrast: updates for GL_NV_texture_env_combine4
Brian Paul [Sat, 24 Jan 2009 00:30:33 +0000 (17:30 -0700)]
mesa: update state setup/validation for GL_NV_texture_env_combine4
Brian Paul [Sat, 24 Jan 2009 00:30:03 +0000 (17:30 -0700)]
mesa: update glTexEnv(), glGetTexEnv() for GL_NV_texture_env_combine4
Brian Paul [Sat, 24 Jan 2009 00:29:26 +0000 (17:29 -0700)]
mesa: initial changes for GL_NV_texture_env_combine4
Brian Paul [Fri, 23 Jan 2009 23:40:27 +0000 (16:40 -0700)]
mesa: set the new array->Format field in VBO code
Should help to solve failed assertion in i965 driver (see bug 19708)
Jesse Barnes [Fri, 23 Jan 2009 21:18:13 +0000 (13:18 -0800)]
intel: fix the mismerge of the vblank pipe enable sanity check
Fix the last merge fix, had the blocks ordered incorrectly.
Brian Paul [Fri, 23 Jan 2009 21:15:45 +0000 (14:15 -0700)]
mesa: consolidate glGetTexEnvi/f() code with new get_texenvi() helper
Jesse Barnes [Fri, 23 Jan 2009 21:13:23 +0000 (13:13 -0800)]
intel: move pipe enable sanity check to where it belongs
Bah, applied the patches in the wrong order, not Owain's fault...
Owain Ainsworth [Wed, 21 Jan 2009 21:57:24 +0000 (21:57 +0000)]
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.
Owain G. Ainsworth [Wed, 21 Jan 2009 22:41:26 +0000 (22:41 +0000)]
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.
Brian Paul [Fri, 23 Jan 2009 20:44:12 +0000 (13:44 -0700)]
mesa: refactor _mesa_TexEnvfv() code with helper functions
Brian Paul [Fri, 23 Jan 2009 18:36:57 +0000 (11:36 -0700)]
docs: document improved stencil support and GL_EXT_vertex_array_bgra
Brian Paul [Fri, 23 Jan 2009 18:29:05 +0000 (11:29 -0700)]
Merge branch 'vertex_array_bgra'
Brian Paul [Fri, 23 Jan 2009 18:27:42 +0000 (11:27 -0700)]
i965: enable GL_EXT_vertex_array_bgra
Simply a matter of choosing the right surface/vertex format for GLubyte/GL_BGRA arrays.
Brian Paul [Fri, 23 Jan 2009 18:26:51 +0000 (11:26 -0700)]
mesa: enable GL_EXT_vertex_array_bgra for sw drivers
Brian Paul [Fri, 23 Jan 2009 18:26:30 +0000 (11:26 -0700)]
mesa: update tnl module for GL_EXT_vertex_array_bgra
Add special case for GLubyte/GL_BGRA color arrays in _tnl_import_array()
Brian Paul [Fri, 23 Jan 2009 18:25:13 +0000 (11:25 -0700)]
mesa: improve array initialization code, and set the new array->Format field.
Brian Paul [Fri, 23 Jan 2009 18:24:31 +0000 (11:24 -0700)]
mesa: update glColorPointer, etc for GL_EXT_vertex_array_bgra
Add new error checking, set array state appropriately.
Brian Paul [Fri, 23 Jan 2009 18:23:12 +0000 (11:23 -0700)]
mesa: initial bits for GL_EXT_vertex_array_bgra
Ian Romanick [Sat, 10 Jan 2009 00:41:19 +0000 (16:41 -0800)]
r300: Enable GL_ATI_separate_stencil in R300
At this point, GL_EXT_stencil_two_side should probably be disabled.
It may be worth leaving it enabled because it has GLX protocol while
GL_ATI_separate_stencil does not. I'll leave it to one of the r300
maintainers to make the call.
Ian Romanick [Fri, 9 Jan 2009 23:47:34 +0000 (15:47 -0800)]
965: Enable GL_EXT_stencil_two_side
Ian Romanick [Fri, 9 Jan 2009 23:47:05 +0000 (15:47 -0800)]
swrast: Enable GL_EXT_stencil_two_side
Ian Romanick [Fri, 9 Jan 2009 23:43:17 +0000 (15:43 -0800)]
Track two sets of back-face stencil state
Track separate back-face stencil state for OpenGL 2.0 /
GL_ATI_separate_stencil and GL_EXT_stencil_two_side. This allows all
three to be enabled in a driver. One set of state is set via the 2.0
or ATI functions and is used when STENCIL_TEST_TWO_SIDE_EXT is
disabled. The other is set by StencilFunc and StencilOp when the
active stencil face is set to BACK. The GL_EXT_stencil_two_side spec has
more details.
http://opengl.org/registry/specs/EXT/stencil_two_side.txt
Brian Paul [Fri, 16 Jan 2009 23:02:34 +0000 (16:02 -0700)]
i965: whitespace changes and reformatting
Brian Paul [Thu, 22 Jan 2009 22:51:12 +0000 (15:51 -0700)]
docs: first 7.5 feature: GL_ARB_framebuffer_object
Brian Paul [Wed, 21 Jan 2009 18:49:59 +0000 (11:49 -0700)]
i965: enable GL_ARB_framebuffer_object
Brian Paul [Thu, 22 Jan 2009 22:43:40 +0000 (15:43 -0700)]
intel: add GL_EXT_framebuffer blit extension
This functionality is required by GL_ARB_framebuffer_object.
For now, implement it in terms of glCopyPixels(). This will need to be
revisted though.
Brian Paul [Thu, 22 Jan 2009 22:34:16 +0000 (15:34 -0700)]
intel: remove/disable the "paired depth/stencil" code
We only allow combined depth+stencil renderbuffers so the complicated code
for splitting and combining separate depth and stencil buffers is no longer
needed.
Brian Paul [Thu, 22 Jan 2009 18:31:28 +0000 (11:31 -0700)]
intel: asst clean-ups, simplifications in intel_draw_buffer()
Brian Paul [Thu, 22 Jan 2009 18:15:37 +0000 (11:15 -0700)]
intel: remove unneeded call to ctx->Driver.DepthRange()
The preceeding call to intel_draw_buffer() does that.
Brian Paul [Thu, 22 Jan 2009 22:32:38 +0000 (15:32 -0700)]
i965: disallow separate depth/stencil renderbuffers
Take advantage of the GL_FRAMEBUFFER_UNSUPPORTED feature to disallow separate
depth and stencil renderbuffers; only allow combined depth/stencil buffers.
Next up: remove/simplify a bunch of the depth/stencil renderbuffer code.
Also: restore the previously disabled GL_DEPTH_COMPONENT16 case
Brian Paul [Wed, 21 Jan 2009 23:29:10 +0000 (16:29 -0700)]
i965: minor reformatting
Brian Paul [Tue, 20 Jan 2009 22:30:22 +0000 (15:30 -0700)]
intel: plug in stub intel_validate_framebuffer() function
Brian Paul [Thu, 22 Jan 2009 22:30:57 +0000 (15:30 -0700)]
intel: inline some renderbuffer functions
Brian Paul [Thu, 22 Jan 2009 22:25:10 +0000 (15:25 -0700)]
demos: revamp the fbotexture.c demo
Try making depth/stencil attachments in two different ways.
Check for GL errors and GL_FRAMEBUFFER_UNSUPPORTED status to be more robust.
Reorganize the code a bit to make it clearer.
Added -arb option to test GL_ARB_fbo's mixed renderbuffer sizes
Added -ds2 option to test GL_DEPTH_STENCIL_ATTACHMENT
Brian Paul [Mon, 19 Jan 2009 23:12:17 +0000 (16:12 -0700)]
demos: updated FBO tests to for ARB_fbo
Some things that were not errors in EXT_fbo are errors in ARB_fbo.
Brian Paul [Mon, 19 Jan 2009 23:14:39 +0000 (16:14 -0700)]
mesa: enable ARB_fbo for s/w drivers
Brian Paul [Wed, 21 Jan 2009 23:28:38 +0000 (16:28 -0700)]
mesa: avoid calling _mesa_test_framebuffer_completeness() more than needed
When we change a FBO's attachments, set _Status=0.
Before using an FBO, check if status != GL_FRAMEBUFFER_COMPLETE.
Also, fix missing GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE status.
Brian Paul [Wed, 21 Jan 2009 18:17:45 +0000 (11:17 -0700)]
mesa: fix some renderbuffer/framebuffer delete semantics
Need to unbind buffers if referenced by the current read/draw pointers when
being deleted.
Brian Paul [Wed, 21 Jan 2009 18:06:11 +0000 (11:06 -0700)]
mesa: add support for GL_DEPTH_STENCIL_ATTACHMENT point.
Used to set both the depth and stencil attachment points to one renderbuffer
of texture.
Brian Paul [Tue, 20 Jan 2009 23:58:49 +0000 (16:58 -0700)]
mesa: additional FBO error checking for multisample-related things
Plus some new comments.
Brian Paul [Tue, 20 Jan 2009 23:53:29 +0000 (16:53 -0700)]
mesa: update Visual.samples field in _mesa_update_framebuffer_visual()
Brian Paul [Thu, 22 Jan 2009 22:19:56 +0000 (15:19 -0700)]
mesa: refactor glRenderbufferStorage(), glRenderbufferStorageMultisample() code
Use a common helper routine for both functions.
Brian Paul [Tue, 20 Jan 2009 22:29:08 +0000 (15:29 -0700)]
mesa: init MaxSamples = 0 (no multisampling)
Brian Paul [Tue, 20 Jan 2009 22:25:14 +0000 (15:25 -0700)]
mesa: add ARB_framebuffer_object.xml to API_XML
Brian Paul [Tue, 20 Jan 2009 22:19:45 +0000 (15:19 -0700)]
mesa: added GL_MAX_SAMPLES query for GL_ARB_fbo
Brian Paul [Tue, 20 Jan 2009 22:17:57 +0000 (15:17 -0700)]
mesa: added NumSamples, MaxSamples for ARB_fbo
Brian Paul [Thu, 22 Jan 2009 22:17:42 +0000 (15:17 -0700)]
mesa: stub for _mesa_RenderbufferStorageMultisample()
Brian Paul [Tue, 20 Jan 2009 00:34:19 +0000 (17:34 -0700)]
mesa: call fbo_incomplete() if driver marks FBO as incomplete (debug only)
Brian Paul [Thu, 22 Jan 2009 22:14:45 +0000 (15:14 -0700)]
mesa: update update_framebuffer_size() for ARB_fbo and mixed renderbuffer sizes
Brian Paul [Thu, 22 Jan 2009 22:13:18 +0000 (15:13 -0700)]
mesa: added ctx->Driver.ValidateFramebuffer() callback
Called from the _mesa_test_framebuffer_completeness() function to give the
driver the chance to make a framebuffer as incomplete if it doesn't meet
some specific hardware restriction.
Brian Paul [Thu, 22 Jan 2009 22:07:34 +0000 (15:07 -0700)]
mesa: add new ARB_fbo queries, fix some error tests
Brian Paul [Thu, 22 Jan 2009 22:07:10 +0000 (15:07 -0700)]
mesa: add new ColorEncoding and ComponentType to gl_renderbuffer
Brian Paul [Thu, 22 Jan 2009 22:06:17 +0000 (15:06 -0700)]
mesa: additional FBO/RB id error checking for ARB_fbo
It's illegal to bind a FBO/RB id that didn't come from glGenRender/Framebuffer().
Brian Paul [Thu, 22 Jan 2009 22:05:13 +0000 (15:05 -0700)]
mesa: for ARB_fbo, lift restriction that all FBO attachments are same size and color format
Brian Paul [Thu, 22 Jan 2009 22:04:11 +0000 (15:04 -0700)]
mesa: initial extension bits for GL_ARB_framebuffer_object
Brian Paul [Thu, 22 Jan 2009 22:02:00 +0000 (15:02 -0700)]
mesa: regenerated GL API files
Brian Paul [Thu, 22 Jan 2009 21:56:14 +0000 (14:56 -0700)]
glapi: include ARB_framebuffer_object.xml
Brian Paul [Thu, 22 Jan 2009 21:55:20 +0000 (14:55 -0700)]
glapi: XML spec for GL_ARB_framebuffer_object
Brian Paul [Thu, 22 Jan 2009 17:35:51 +0000 (10:35 -0700)]
glsl: call _mesa_write_shader_to_file(). Debug-only, disabled
Brian Paul [Thu, 22 Jan 2009 17:34:43 +0000 (10:34 -0700)]
glsl: new _mesa_write_shader_to_file() function
Used to log a shader to a file. Includes shader source code, the info log
and generated GPU instructions.
Brian Paul [Thu, 22 Jan 2009 17:34:15 +0000 (10:34 -0700)]
glsl: set shader->CompileStatus in _slang_compile()
Brian Paul [Thu, 22 Jan 2009 17:32:08 +0000 (10:32 -0700)]
mesa: added _mesa_fprintf() wrapper
Brian Paul [Thu, 22 Jan 2009 17:29:24 +0000 (10:29 -0700)]
docs: placeholder 7.5 release notes
Brian Paul [Thu, 22 Jan 2009 17:22:55 +0000 (10:22 -0700)]
mesa: master is open for new development, eventually will be Mesa 7.5
Brian Paul [Thu, 22 Jan 2009 17:18:04 +0000 (10:18 -0700)]
docs: skeleton 7.4 release notes file
Brian Paul [Thu, 22 Jan 2009 17:14:39 +0000 (10:14 -0700)]
docs: 7.3 md5 sums
Brian Paul [Thu, 22 Jan 2009 17:14:04 +0000 (10:14 -0700)]
mesa: set version to 7.3
Brian Paul [Thu, 22 Jan 2009 16:59:04 +0000 (09:59 -0700)]
docs: set 7.3 release date
Brian Paul [Thu, 22 Jan 2009 16:58:52 +0000 (09:58 -0700)]
docs: assorted updates, link fixes
Eric Anholt [Tue, 13 Jan 2009 20:50:38 +0000 (12:50 -0800)]
i915: Add decode for PS in batchbuffers.
Eric Anholt [Fri, 9 Jan 2009 03:15:04 +0000 (19:15 -0800)]
i965: Remove gratuitous whitespace in INTEL_DEBUG=wm output.
Eric Anholt [Fri, 9 Jan 2009 03:00:10 +0000 (19:00 -0800)]
i965: Use _mesa_num_inst_src_regs() instead of keeping a copy of its contents.
Kristian Høgsberg [Wed, 21 Jan 2009 16:47:01 +0000 (11:47 -0500)]
[intel] Remove remaining references to intel_wait_flips().
Oops.
Thomas Henn [Wed, 21 Jan 2009 16:31:58 +0000 (09:31 -0700)]
windows: fix output dir for glut project file
Brian Paul [Wed, 21 Jan 2009 16:05:02 +0000 (09:05 -0700)]
swrast: fix redundant texture application in affine_textured_triangle().
This function does simple texture mapping so disable normal texture mapping
before we call _swrast_write_rgba_span() so that we don't do it twice.
Brian Paul [Wed, 21 Jan 2009 15:18:07 +0000 (08:18 -0700)]
mesa: add some debug assertions to detect null current texture object pointers
See bug #17895. These assertions could be removed when this is resolved.
Karl Schultz [Wed, 21 Jan 2009 14:59:11 +0000 (07:59 -0700)]
windows: another round of VC8 project file updates
New static configs generate DLLs that do not have a dependency on the MSCVR*
DLL's.
Brian Paul [Wed, 21 Jan 2009 14:57:45 +0000 (07:57 -0700)]
Revert "windows: new VC8 projects statically linked against libcmt"
This reverts commit
bbda892c551e7d3f2d94cc877cc6e80f8568fa99.
Static configs rolled into regular project files (in next commit).
Provided by Karl Schultz.
Brian Paul [Tue, 20 Jan 2009 22:36:01 +0000 (15:36 -0700)]
docs: document glXMakeContextCurrent() and Windows fixes
Ian Romanick [Tue, 20 Jan 2009 21:55:18 +0000 (13:55 -0800)]
Fix issues with glXMakeContextCurrent and glXMakeCurrentReadSGI
There were several bugs in the infrastructure for these two routines.
1. GLX_ALIAS was incorrectly used. The function and its alias must be
identical! glXMakeContextCurrent / glXMakeCurrentReadSGI and
MakeContextCurrent had different parameters. This caused the last
parameter of MakeContextCurrent to get random values.
2. We based the implementation of glXMakeContextCurrent on the manual
page instead of the GLX spec. The GLX spec says that
glXMakeContextCurrent can be passed a Window as a drawable. When this
happens, it will behave just like glXMakeCurrentReadSGI or
glXMakeCurrent.
3. If there was a problem finding or creating the DRI drawable,
MakeContextCurrent would crash instead of returning an error.
This commit fixes all three issues, and fixes bug #18367 and bug #19625.
Timo Aaltonen [Tue, 20 Jan 2009 16:45:35 +0000 (11:45 -0500)]
[intel] Go back to using the typedef for the sarea struct
The upstream linux kernel headers and libdrm kernel headers disagree on the
tag name for the sarea struct: _drm_i915_sarea vs drm_i915_sarea. They
both typedef it to drm_i915_sarea_t though, so just use that.
Owain G. Ainsworth [Wed, 14 Jan 2009 01:14:32 +0000 (01:14 +0000)]
Remove intel pageflipping support in its entirety.
It's been broken and deprecated for a while, so it's time to die. This has the
wonderful benefit of cleaning up the code a fair amount; making it marginally
less twisty.
I'm unsure if the for loops in IntelWindowMoved are still needed.
Brian Paul [Tue, 20 Jan 2009 16:21:32 +0000 (09:21 -0700)]
glsl: silence unused var warnings
Brian Paul [Tue, 20 Jan 2009 16:20:41 +0000 (09:20 -0700)]
mesa: silence uninitialized var warnings