summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965
Commit message (Collapse)AuthorAgeFilesLines
* More vblank cleanups.Michel Dänzer2007-10-304-10/+11
| | | | | | | | * Fix crash at context creation in most drivers supporting vblank. * Don't pass vblank sequence or flags to functions that get passed the drawable private already. * Attempt to initialize vblank related drawable private fields just once per drawable. May need more work in some drivers.
* Merge branch 'origin'Eric Anholt2007-10-2924-173/+1908
|\
| * Refactor and fix core vblank supportJesse Barnes2007-10-295-15/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consolidate support for synchronizing to and retrieving vblank counters. Also fix the core vblank code to return monotonic MSC counters, which are required by some GLX extensions. Adding support for multiple pipes to a low level driver is fairly easy, the Intel 965 driver provides simple example code (see intel_buffers.c:intelWindowMoved()). The new code bumps the media stream counter extension version to 2 and adds a new getDrawableMSC callback. This callback takes a drawablePrivate pointer, which is used to calculate the MSC value seen by clients based on the actual vblank counter(s) returned from the kernel. The new drawable private fields are as follows: - vblSeq - used for tracking vblank counts for buffer swapping - vblFlags - flags (e.g. current pipe), updated by low level driver - msc_base - MSC counter from the last time the current pipe changed - vblank_base - kernel DRM vblank counter from the last time the pipe changed Using the above variables, the core vblank code (in vblank.c) can calculate a monotonic MSC value. The low level DRI drivers are responsible for updating the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags) along with msc_base and vblank_base whenever the pipe associated with a given drawable changes (again, see intelWindowMoved for an example of this). Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to driDrawableGetMSC32 and add code for pipe switching as outlined above to fully support the new scheme.
| * Merge branch '965-glsl'Zou Nan hai2007-10-2620-158/+1851
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/i965/brw_sf.h src/mesa/drivers/dri/i965/intel_context.c
| | * Non Square MatrixZou Nan hai2007-10-091-0/+2
| | |
| | * fix for prev commitZou Nan hai2007-10-091-2/+2
| | |
| | * INT supportZou Nan hai2007-10-091-3/+3
| | |
| | * shadow sampler fix.Zou Nan hai2007-10-092-1/+13
| | | | | | | | | | | | | | | 1. spec requite result (0, 0, 0, 1) instead of (0, 0, 0, 0) 2. support shadow sampler in simd8
| | * Only vertex program fix, bypass tnl vertex programZou Nan hai2007-10-081-1/+1
| | |
| | * fragment shader function call fix, gl_FragCoord fixZou Nan hai2007-09-302-3/+8
| | |
| | * support continue, fix conditionalZou Nan hai2007-09-293-2/+66
| | |
| | * fixZou Nan hai2007-09-281-2/+0
| | |
| | * support nested function call in pixel shaderZou Nan hai2007-09-282-11/+26
| | |
| | * handle INT op, still require high level handle of integer to be correctZou Nan hai2007-09-271-0/+22
| | |
| | * fix issue when only fragment shader or vertex shader is usedZou Nan hai2007-09-271-5/+12
| | |
| | * ARB_shader_object ARB_vertex_shader ARB_fragment_shader in 965-glsl branchZou Nan hai2007-09-181-0/+6
| | |
| | * fix double free in 965-glsl branchZou Nan hai2007-09-183-0/+6
| | |
| | * DDX DDY support, not very accurateZou Nan hai2007-07-243-1/+103
| | |
| | * Fix SOP in fragment shader, brick is ok now.Zou Nan hai2007-07-171-2/+4
| | |
| | * Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Zou Nan hai2007-07-173-5/+12
| | |\ | | | | | | | | | | | | into 965-glsl
| | * | Use ProgramStringNotifyZou Nan hai2007-07-171-27/+0
| | | |
| | * | support "discard";Zou Nan hai2007-07-052-0/+16
| | | |
| | * | Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Zou Nan hai2007-07-047-112/+27
| | |\ \ | | | | | | | | | | | | | | | into 965-glsl
| | * | | fix issue with output as src register.Zou Nan hai2007-07-041-1/+1
| | | | |
| | * | | Fix a nasty bug...Zou Nan hai2007-07-031-6/+14
| | | | |
| | * | | support branch and loop in pixel shaderZou Nan hai2007-06-2112-100/+1346
| | | | | | | | | | | | | | | | | | | | most of the sample working with some small modification
| | * | | Support loop, conditional update fixZou Nan hai2007-05-091-10/+17
| | | | |
| | * | | support nested function callZou Nan hai2007-04-302-15/+17
| | | | | | | | | | | | | | | | | | | | else instruction fix.
| | * | | Initial 965 GLSL supportZou Nan hai2007-04-1214-75/+275
| | | | |
* | | | | Replace symlink generation from i915 with files in intel/ and symlinks there.Eric Anholt2007-10-162-15/+3
|/ / / /
* | | | Merge branch 'dri2'Kristian Høgsberg2007-10-121-60/+39
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/i915/intel_screen.c
| * | | | Add a DRI_ReadDrawable marker extension to signal read drawable capability.Kristian Høgsberg2007-10-111-5/+1
| | | | |
| * | | | Move media stream counter entry points to new extension.Kristian Høgsberg2007-10-111-3/+2
| | | | |
| * | | | Move GLX_MESA_swap_frame_usage DRI entry points to the new mechanism.Kristian Høgsberg2007-10-111-1/+1
| | | | |
| * | | | Move swap_interval to new extension mechanism.Kristian Høgsberg2007-10-101-2/+1
| | | | |
| * | | | Move the copySubBuffer extension over to the new mechanism.Kristian Høgsberg2007-10-101-1/+6
| | | | |
| * | | | Pull createNewScreen entry point into dri_util.c.Kristian Høgsberg2007-10-101-48/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pulls the top level createNewScreen entry point out of the drivers and rewrites __driUtilCreateNewScreen in dri_util.c to be the new entry point. The change moves more logic into the common/ layer and changes the createNewScreen entry point to only be defined in one place.
| * | | | Replace open-coded major, minor, and patch version fields with __DRIversionRec.Kristian Høgsberg2007-10-101-1/+1
| | | | |
| * | | | Remove screenConfigs from __DRIscreen.Kristian Høgsberg2007-10-101-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The screenConfigs field of __DRIscreen points back to the containing __GLXscreenConfigs struct. This is a serious abstraction violation; it assumes that the loader is libGL and that there *is* a __GLXscreenConfigs type in the loader. Using the containerOf macro, we can get from the __DRIscreen pointer to the containing __GLXscreenConfigs struct, at a place in the stack where the above is a valid assumption. Besides, the __DRI* structs shouldn't hold state other than the private pointer.
| * | | | Drop __DRInativeDisplay and pass in __DRIscreen pointers instead.Kristian Høgsberg2007-10-101-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many DRI entry points took a __DRInativeDisplay pointer and a screen index as arguments. The only use for the native display pointer was to pass it back to the loader when looking up the __DRIscreen for the given screen index. Instead, let's just pass in the __DRIscreen pointer directly, which let's drop the __DRInativeDisplay type and the getScreen function. The assumption is now that the loader will be able to retrieve context from the __DRIscreen pointer when necessary.
* | | | | fix force_s3tc_enable optionMrc Gran2007-10-101-1/+1
|/ / / /
* | | | [965] Replace various alignment code with a shared ALIGN() macro.Eric Anholt2007-10-0416-28/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the process, fix some alignment issues: - Scratch space allocation was aligned into units of 1KB, while the allocation wanted units of bytes, so we never allocated enough space for scratch. - GRF register count was programmed as ALIGN(val - 1, 16) / 16 instead of ALIGN(val, 16) / 16 - 1, which overcounted for val != 16n+1.
* | | | Replace bmBufferOffset usage in batchbuffer setup with OUT_RELOC.Eric Anholt2007-10-043-15/+29
| | | | | | | | | | | | | | | | This is in preparation for 965 TTM.
* | | | Replace duplicated intel_reg.h with a shared header.Eric Anholt2007-10-042-114/+10
| | | |
* | | | Replace some structure-based batch preparation with plain OUT_BATCH.Eric Anholt2007-10-042-32/+29
| | | | | | | | | | | | | | | | | | | | OUT_BATCH is far more amenable to the upcoming relocations being done for TTM support.
* | | | [965] Add batchbuffer dumping under INTEL_DEBUG=bat, like 915.Eric Anholt2007-09-275-16/+17
| | | |
* | | | Revert "WIP 965 conversion to dri_bufmgr."Eric Anholt2007-09-2723-219/+1617
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b2f1aa2389473ed09170713301b042661d70a48e. Somehow I ended up with my branch's save-this-while-I-work-on-master commit actually on master.
* | | | WIP 965 conversion to dri_bufmgr.Eric Anholt2007-09-2723-1617/+219
| | | |
* | | | [965] Remove AUB file support.Eric Anholt2007-09-2723-1244/+42
| | | | | | | | | | | | | | | | | | | | This code existed to dump logs of hardware access to be replayed in simulation. Since we have real hardware now, it's not really needed.
* | | | i965: handle all unfilled mode in clip stage. fix bug #12453Xiang, Haihao2007-09-271-0/+4
| | | |