summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i915
AgeCommit message (Collapse)Author
2009-10-01i915: Add optional support for ARB_fragment_shader under a driconf option.Eric Anholt
Other vendors have enabled ARB_fragment_shader as part of OpenGL 2.0 enablement even on hardware like the 915 with no dynamic branching or dFdx/dFdy support. But for now we'll leave it disabled because we don't do any flattening of ifs or loops, which is rather restrictive. This support is not complete, and may be unstable depending on your shaders. It passes 10/15 of the piglit glsl tests, but hangs on glean glsl1.
2009-10-01i915: Add support or fallbacks for GLSL fragment shader opcodes.Eric Anholt
2009-10-01i915: Add support for varying inputs.Eric Anholt
2009-10-01i915: Enable ARB_vertex_shader for both i915 and i830.Eric Anholt
Since the TNL is all done in software anyway, it should be the same to the user who's probably using ARB_vertex_program otherwise, but gives them a nicer programming environment.
2009-10-01i915: Increase maximum program size to the hardware limits.Eric Anholt
This fixes potential heap trashing if the program of choice exceeds limits, and fixes the native instructions limit being lower than what can be used by valid programs.
2009-10-01i915: Update and translate the fragment program along with state updates.Eric Anholt
Previously, we were doing it in the midst of the pipeline run, which gave an opportunity to enable/disable fallbacks, which is certainly the wrong time to be doing so. This manifested itself in a NULL dereference for PutRow after transitioning out of a fallback during a run_pipeline in glean glsl1.
2009-10-01Revert "i915: don't validate PS program when falling back to software"Eric Anholt
This reverts commit e7044d552c6d16389447880b8744a51de1cf0199. It prevented the driver from ever recovering from a software fallback due to a program error. The original bug it claimed to fix doesn't appear to exist post-revert.
2009-10-01i915: Bail when the fragment program has too many total instructions.Eric Anholt
Previously, we'd go trashing the heap.
2009-10-01i915: Let i915_program_error take a format string, and don't use _mesa_problem.Eric Anholt
It's misleading to report things like the program having too many native instructions as a Mesa implementation error, when the program may just be too big for the hardware.
2009-09-28intel: Drop my generatemipmap code in favor of the new shared code.Eric Anholt
2009-09-03intel: Add support for ARB_sync.Eric Anholt
We currently weasel out of supporting the timeout parameter, but otherwise this extension looks ready, and should make the common case happy.
2009-08-27i915: Fix undefined symbol as of eabe12df44a41e97fb5736959e8864ddbd01be14Eric Anholt
2009-08-26ARB prog: Change handling of program parameter limitsIan Romanick
Several changes are made to program parameter limits. Several of the non-NATIVE limits are set higher. All of the NATIVE limits are set to zero in the core Mesa code. Each driver must set the actual value in its context creation routine. If the NATIVE value remains zero, this indicates that hardware shaders may not be supported. Each of the preceeding changes matches the bahavior of Apple's shader assembler, so it seems safe. Finally, we limit the value of MaxEnvParams to be no greater than MaxNativeAttribs. At least one case has been found where an application does the wrong thing if MaxNativeAttribs < MaxEnvParams. See also bugzilla #23490.
2009-08-04intel: Add support for EXT_provoking_vertex.Eric Anholt
2009-07-29i915: Add support for EXT_stencil_two_side and ATI_separate_stencil.Eric Anholt
Passes tests/stencil_twoside and glean/stencil2.
2009-06-29intel: Move note_unlock() implementation to the one place it's needed.Eric Anholt
2009-06-29intel: Make LOCK_HARDWARE recursive to avoid hand-rolling recursiveness.Eric Anholt
2009-06-19intel: Move intel_pixel_read.c to shared for use with i965.Eric Anholt
2009-06-09i915: Add an option for testing the effect of early Z in classic mode.Eric Anholt
The early Z stuff is supposed to be unsafe without some more work in the enable/disable path (in particular, how do we want to get it disabled on the way out to the X Server?), but at the moment is 6% in OA.
2009-06-04intel: Add support for tiled textures.Eric Anholt
This is about a 30% performance win in OA with high settings on my GM45, and experiments with 915GM indicate that it'll be around a 20% win there. Currently, 915-class hardware is seriously hurt by the fact that we use fence regs to control the tiling even for 3D instructions that could live without them, so we spend a bunch of time waiting on previous rendering in order to pull fences off. Thus, the texture_tiling driconf option defaults off there for now.
2009-06-04i915: Don't rely on fence regs when we don't have to.Eric Anholt
We're on the way to telling the kernel about when we need fence regs on our objects or not, and this will cut the number of places needing them.
2009-06-04i915: Remove some long-dead i830 code.Eric Anholt
2009-05-26i915: Restore the Viewport and DepthRange functions on 8xx.Eric Anholt
Fixes failed viewport updates on glxgears (and other apps) resize since e41780fedc2c1f22b43118da30a0103fa68b769f. Bug #20473.
2009-05-15i915: Fix 945 cube map layout for the small mipmaps along the bottom.Steinar H. Gunderson
Bug #21691.
2009-05-15i915: Only use the new 945 cube layout for compressed textures.Eric Anholt
The docs actually explain this, but not in a terribly clear manner. This nearly fixes the piglit cubemap testcase, except that something's going wrong with the nearest filtering at 2x2 sizes in the testcase. Looks good by visual inspection, though. Bug #21692
2009-05-12i915: Fix driver after HW glGenerateMipmap commit.Eric Anholt
2009-05-08intel: Add a metaops version of glGenerateMipmapEXT/SGIS_generate_mipmaps.Eric Anholt
In addition to being HW accelerated, it avoids the incorrect (black) rendering of the mipmaps that SW was doing in fbo-generatemipmap. Improves the performance of the mipmap generation and drawing in fbo-generatemipmap by 30%.
2009-05-01Merge branch 'const-buffer-changes'Brian Paul
Conflicts: src/mesa/drivers/dri/i965/brw_curbe.c src/mesa/drivers/dri/i965/brw_vs_emit.c src/mesa/drivers/dri/i965/brw_wm_glsl.c
2009-04-23i915: fix fix for anisotropic filteringRoland Scheidegger
forgot to commit the changes to actually support 4x aniso filtering...
2009-04-22intel: fix max anisotropy supportedRoland Scheidegger
i915 actually supports up to 4 (according to header file - not tested), i965 up to 16 (code already handled this but slightly broken), so don't use 2 for all chips, even though angular dependency is very high.
2009-04-22i915: check the new _NEW_PROGRAM_CONSTANT flagBrian Paul
2009-04-16Merge branch 'register-negate'Brian Paul
2009-04-16i915: Remove dead i830TexEnv and i915TexEnv.Eric Anholt
These LOD bias updates are covered by the texture state uploads in *_texstate.c now.
2009-04-16intel: Add support for argb1555, argb4444 FBOs and fix rgb565 fbo readpixels.Eric Anholt
Also enable them all regardless of screen bpp, as 32 bpp what I've been testing against, and haven't been able to detect any screen bpp-specific troubles with them.
2009-04-15i915: Use DEBUG_WM (like 965) for printing the fragment program out.Eric Anholt
This is nice when paired with INTEL_DEBUG=batch for debugging what's going out to the hardware.
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul
There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
2009-04-01dri: use BorderColor instead of _BorderChanBrian Paul
2009-03-20Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.Eric Anholt
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-12i915: move declarations before codeBrian Paul
2009-03-04i965: add software fallback for conformant 3D textures and GL_CLAMPRobert Ellison
The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier commit forced a software fallback if strict conformance was required (i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and 2D textures were used, but it was somewhat flawed - it could trigger the software fallback even if 2D textures weren't enabled, as long as one texture unit was enabled. This fixes that, and adds software fallback for GL_CLAMP behavior with 1D and 3D textures. It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE environment variable, which forces software fallbacks to be taken *all* the time. This is helpful with debugging. The value is: export INTEL_STRICT_CONFORMANCE=2
2009-02-28mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul
s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/ s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/ Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it. Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
2009-02-17intel: Clean up several 965 memory leaks on context destroy.Eric Anholt
2009-01-30i915: updated render to texture/fbo testBrian Paul
2009-01-30i915: Only call CalcViewport from DrawBuffers instead of Viewport.Eric Anholt
This saves an inadvertent round-trip to the X Server on DrawBuffers, which was hurting some metaops.
2009-01-30Remove stale symlinks to intel/intel_depthstencil.cIan Romanick
2009-01-28intel: Fix up some extension string issuesIan Romanick
Move the remaining extension string enables to intel_extensions.c. Make sure that GL_NV_texture_env_combine4 is not enabled on i830.
2009-01-28Make GL_ARB_draw_buffers mandatoryIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2009-01-26i915: rename some functionsBrian Paul
2009-01-26intel: replace i915/intel_state.c and i965/intel_state.c with shared fileBrian Paul
2009-01-26intel: whitespace changesBrian Paul