summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_context.c
AgeCommit message (Collapse)Author
2010-11-10i965: re-enable gen6 IF statements in the fragment shader.Eric Anholt
IF statements were getting flattened while they were broken. With Zhenyu's last fix for ENDIF's type, everything appears to have lined up to actually work. This regresses two tests: glsl1-! (not) operator (1, fail) glsl1-! (not) operator (1, pass) but fixes tests that couldn't work before because the IFs couldn't be flattened: glsl-fs-discard-01 occlusion-query-discard (and, naturally, this should be a performance improvement for apps that actually use IF statements to avoid executing a bunch of code).
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-10-13Rename GLvisual and __GLcontextModes to struct gl_configKristian Høgsberg
2010-10-07i965: Disable emitting if () statements on gen6 until we really fix them.Eric Anholt
2010-09-22intel: Fix GL_ARB_shading_language_120 commitKristian Høgsberg
Fix commit e7087175f8a04f777403366fb34b58edd00f4d60. Move the reference to GL_VERSION_2_1_functions to intel_extensions.c where it's available, don't try to enable a non-existing extension and advertise 1.20 for all intel chipsets, not just GEN4 and up.
2010-09-21mesa: don't advertise bogus GL_ARB_shading_language_120 extensionBrian Paul
Instead of using the invalid GL_ARB_shading_language_120 extension to determine the GLSL version, use a new ctx->Const.GLSLVersion field. Updated the intel and r600 drivers, but untested. See fd.o bug 29910 NOTE: This is a candidate for the 7.9 branch (but let's wait and see if there's any regressions).
2010-09-17glsl2: Add flags to enable variable index loweringIan Romanick
2010-09-13i965: Request that returns be lowered in shader mainIan Romanick
Fixes piglit tests glsl-vs-main-return and glsl-fs-main-return.
2010-09-09glsl2: Add EmitNoNoise flag, use it to remove noise opcodesIan Romanick
2010-09-08glsl: make compiler options per-targetLuca Barbieri
This allows us to specify different options, especially useful for chips without unified shaders. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-08-20i965: Set the maximum number of threads on Sandybridge.Zhenyu Wang
2010-08-20i965: Sandybridge doesn't have Compr4 mode, since it's not needed any more.Zhenyu Wang
2010-06-23Merge branch 'shader-file-reorg'Brian Paul
1. Move all GL entrypoint functions and files into src/mesa/main/ This includes the ARB vp/vp, NV vp/fp, ATI fragshader and GLSL bits that were in src/mesa/shader/ 2. Move src/mesa/shader/slang/ to src/mesa/slang/ to reduce the tree depth 3. Rename src/mesa/shader/ to src/mesa/program/ since all the remaining files are concerned with GPU programs. 4. Misc code refactoring. In particular, I got rid of most of the GLSL-related ctx->Driver hook functions. None of the drivers used them. Conflicts: src/mesa/drivers/dri/i965/brw_context.c
2010-06-12i965: Remove unnecessary header.Vinson Lee
2010-06-11i965: Set the CC VP state immediately on state change.Eric Anholt
The cache lookup of these two little floats was .12% of total CPU time on firefox-talos-gfx because we did it any time commonly-changed state changed. On the other hand, updating the CC VP bo immediately whenver CC VP state changes is a .07% overhead due to putting a driver hoook in glEnable().
2010-06-10i965: remove UseProgram driver callbackBrian Paul
It just duplicated the default/core Mesa behaviour.
2010-06-10mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul
2010-06-10i965: remove UseProgram driver callbackBrian Paul
It just duplicated the default/core Mesa behaviour.
2010-06-09i965: Avoid calloc/free in the CURBE upload process.Eric Anholt
In exchange we end up with an extra memcpy, but that seems better than calloc/free. Each buffer is 4k maximum, and on the i965-streaming branch this allocation was showing up as the top entry in brw_validate_state profiling for cairo-gl.
2010-05-16i965: Remove the half-baked code for multiple OQs at the same time.Eric Anholt
GL doesn't actually let you begin an OQ while one is active, so the extra work was pointless.
2010-05-11intel: Drop viewport hack when we canKristian Høgsberg
2010-04-28dri: Add DRI entrypoints to create a context for a given APIKristian Høgsberg
2010-04-21intel: Clean up chipset name and gen num for IronlakeZhenyu Wang
Rename old IGDNG to Ironlake, and set 'gen' number for Ironlake as 5, so tracking the features with generation num instead of special is_ironlake flag. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2010-03-10i965: Use the PLN instruction when possible in interpolation.Eric Anholt
Saves an instruction in PINTERP, LINTERP, and PIXEL_W from brw_wm_glsl.c For non-GLSL it isn't used yet because the deltas have to be laid out differently.
2010-02-25i965: Don't include SNB in has_negative_rhw_bug.Eric Anholt
2010-02-25i965: Fix up the VF stats packet header.Eric Anholt
2010-02-19Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg
2010-01-25i965: Fix build after merge of mesa stable branch.Eric Anholt
2010-01-25Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/intel/intel_screen.c src/mesa/drivers/dri/intel/intel_swapbuffers.c src/mesa/drivers/dri/r300/r300_emit.c src/mesa/drivers/dri/r300/r300_ioctl.c src/mesa/drivers/dri/r300/r300_tex.c src/mesa/drivers/dri/r300/r300_texstate.c
2010-01-22i965: Remove unnecessary headers.Vinson Lee
2010-01-04Remove leftover __DRI{screen,drawable,context}Private referencesKristian Høgsberg
As part of the DRI driver interface rewrite I merged __DRIscreenPrivate and __DRIscreen, and likewise for __DRIdrawablePrivate and __DRIcontextPrivate. I left typedefs in place though, to avoid renaming all the *Private use internal to the driver. That was probably a mistake, and it turns out a one-line find+sed combo can do the mass rename. Better late than never.
2009-12-22intel: Replace IS_965 checks with context structure usage.Eric Anholt
Saves another 600 bytes or so of code.
2009-12-22intel: Replace IS_G4X() across the driver with context structure usage.Eric Anholt
Saves ~2KB of code.
2009-12-10intel: Attempt to fix up after "Update vertex texture code."Eric Anholt
The MaxCombinedTextureImageUnits is the total number of samplers that can be bound between vertex, geometry, and fragment, not 0. This should report the correct value on 965 now. Other DRI drivers may also need updating if their MaxVertexTextureImageUnits != 0 (for example, if using the sw vertex pipeline). It's not clear to me if there's going to be a valid value for this limit other than MaxTextureImageUnits + MaxVertexTextureImageUnits (+ MaxGeometryTextureImageUnits eventually). If not, then we should probably just move this into the core at Get time. Bug #25518 (wine regression). Fixes piglit vp-combined-image-units.
2009-12-01mesa: Update vertex texture code after gallium changes.Michal Krol
2009-10-29i965: define, use BRW_MAX_DRAW_BUFFERSBrian Paul
i965 might support more than 4 color draw buffers. But if not, this protects from breakage if the Mesa limit is raised.
2009-09-24i965: Emit zero initialization for NV VP temporaries as required.Eric Anholt
This is similar to what r300 does inside the driver, but I've added it as a generic option since it seems most hardware will want it. Fixes piglit nv-init-zero-reg.vpfp and nv-init-zero-addr.vpfp.
2009-09-02Revert "i965: Use VBOs in the VBO module on 965, now that we have ↵Eric Anholt
ARB_map_buffer_range." This reverts commit 00413d87426f14df47d90ba3c995e1889e9f88ca. Even with fixes, using ARB_map_buffer_range in the VBO module isn't showing up as a significant win, and some cases apparently regressed. Bug #23624.
2009-08-28i965: Use VBOs in the VBO module on 965, now that we have ARB_map_buffer_range.Eric Anholt
This looks like it's a small win on blender.
2009-08-26i965: Increase assmebly shader program parameter limitsIan Romanick
Increase the number of native program parameters to the same values exposed by GLSL.
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-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-02-16i965: tell GLSL compiler to emit code using condition codesBrian Paul
The default for EmitCondCodes got flipped when gallium-0.2 was merged. This fixes GLSL if/else/endif regressions. Drivers that use GLSL should always explicitly set the flag to be safe.
2009-02-02i965: Remove brw->attribs now that we can just always look in the GLcontext.Eric Anholt
2009-02-02i965: Delete old metaops code now that there are no remaining consumers.Eric Anholt
2009-01-30i965: bump texture limit to 4kx4kKeith Packard
Rendering and textures are limited to 8kx8k, but mesa limits things to 4kx4k, and magic guard band stuff may break on 8kx8k drawing. This is safe though, and makes compiz work on bigger screens. Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-14i965: allow larger AA points on fallback pathBrian Paul
2009-01-01i965: increase number of texture samplers to 16Brian Paul
This lets GLSL shaders use up to 16 samplers. Fixed function is still limited to 8 textures. Tested with progs/glsl/samplers.c
2008-11-21i915: Don't overwrite i915's Viewport function from generic code.Eric Anholt
Instead, have i965 and i915 both call the generic function from their Viewport.
2008-10-28i965: Fix check_aperture calls to cover everything needed for the prim at once.Eric Anholt
Previously, since my check_aperture API change, we would check each piece of state against the batchbuffer individually, but not all the state against the batchbuffer at once. In addition to not being terribly useful in assuring success, it probably also increased CPU load by calling check_aperture many times per primitive.