Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | nouveau: introduce nouveau_miptree common to all nouveau pipe drivers | Ben Skeggs | 2009-08-31 | 6 | -30/+29 |
| | | | | | | | | The winsys once again has to know about textures it seems, so we need a common representation between all our pipe drivers to store some information the winsys will need. Only the nv50 driver has been fixed so far. | ||||
* | nv50: set provoking vertex state | Christoph Bumiller | 2009-08-29 | 1 | -0/+2 |
| | |||||
* | nv50: use VTX_ATTR_nF for constant vtxelts | Christoph Bumiller | 2009-08-20 | 3 | -1/+75 |
| | |||||
* | nv50: set vertex buffer limits | Christoph Bumiller | 2009-08-20 | 1 | -2/+11 |
| | |||||
* | nv50: modify vbo format to hw translation, add BGRA swizzle | Christoph Bumiller | 2009-08-20 | 1 | -39/+65 |
| | |||||
* | nv50: remove a few cases of directly casting struct pipe_context | Maarten Maathuis | 2009-08-17 | 2 | -3/+3 |
| | |||||
* | nv50: borrow some flushing code from the ddx | Maarten Maathuis | 2009-08-17 | 1 | -3/+11 |
| | | | | | - This fixes neverball corruption. - I'm unsure about what we're actually flushing here. | ||||
* | nv50: whitespace fixes and deobfuscation | Maarten Maathuis | 2009-08-17 | 9 | -69/+85 |
| | |||||
* | nv50: fix stencil state | Christoph Bumiller | 2009-08-17 | 1 | -6/+6 |
| | | | | | | | It's the front stencil methods that have contiguous offsets, not the back ones. Unfortunately the names in the header still have FRONT/BACK reversed, so I'm using hex values until it gets updated. | ||||
* | nv50: avoid a NULL-ptr dereference when the pipe context changes | Maarten Maathuis | 2009-08-15 | 1 | -1/+26 |
| | | | | - We cannot assume all state objects are present when the pipe context changes. | ||||
* | nv50: align registers used with TEX to 4 | Christoph Bumiller | 2009-08-15 | 1 | -1/+2 |
| | | | | | | | | The TEX instruction is passed the first index of a contiguous range of 4 TEMP registers that contain coordinates / LOD and, after execution, the texel values. It seems the first index is required to be a multiple of 4 on some (older ?) cards. | ||||
* | nv50: fix mipmap offsets and tiling | Christoph Bumiller | 2009-08-14 | 3 | -17/+34 |
| | | | | | | The hardware expects a texture's tile mode to change with the mipmap level. Also, only multiply by block size once to obtain size. | ||||
* | nv50: make sure we don't re-emit outdated scissor state | Christoph Bumiller | 2009-08-14 | 1 | -4/+4 |
| | | | | | Since we don't turn off scissors, we need to update the stateobj when the framebuffer size changes. | ||||
* | nv50: make use of the y-origin switch | Christoph Bumiller | 2009-08-14 | 2 | -25/+16 |
| | | | | | Now that we know how to make the hardware have y-coordinate origin top, we can get rid of all the inversion introduced earlier. | ||||
* | nv50: fix typo in REALLOC's 2nd argument in ctor_immd | Christoph Bumiller | 2009-08-14 | 1 | -1/+1 |
| | |||||
* | nv50: support non-blocking query_result() | Ben Skeggs | 2009-07-29 | 1 | -5/+5 |
| | |||||
* | nv50: correct zeta formats | Christoph Bumiller | 2009-07-29 | 3 | -9/+20 |
| | | | | | | What was Z24S8 before is actually S8Z24, and what we had for Z16 is actually X8Z24. Now, we also have the REAL Z24S8 and I added Z32_FLOAT as well; most of the formats need different tile_flags. | ||||
* | nv50: use new 2D surface format names | Christoph Bumiller | 2009-07-29 | 1 | -4/+4 |
| | |||||
* | nv50: support more vtxelt formats | Christoph Bumiller | 2009-07-29 | 1 | -24/+56 |
| | | | | | NOTE: we must not try to emit buffer relocations when vtxbuf_nr is 0 but vtxelt_nr is not | ||||
* | nv50: should use uint32_t ptr in draw_elements_inline_u32 | Christoph Bumiller | 2009-07-29 | 1 | -1/+1 |
| | |||||
* | nv50: TIC/TSC fixes and additions | Christoph Bumiller | 2009-07-29 | 3 | -34/+60 |
| | | | | | Red and blue were interchanged in TIC. Add border color and some formats. | ||||
* | nv50: fix sx/dx typo in transfer_rect_m2mf | Christoph Bumiller | 2009-07-29 | 1 | -2/+2 |
| | |||||
* | nv50: fix viewport transform | Christoph Bumiller | 2009-07-29 | 1 | -11/+20 |
| | | | | | | | The translation also needs to be inverted, and in bypass mode the state tracker incorrectly assumes that Y = 0 = TOP, so we need inversion there to; NDC clipping has to be deactivated explicitly. | ||||
* | nv50: use correct scissor reg | Christoph Bumiller | 2009-07-29 | 2 | -7/+20 |
| | |||||
* | gallium: simplify tgsi_full_immediate struct | Keith Whitwell | 2009-07-22 | 1 | -4/+4 |
| | | | | | | | | | | | | | Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables. | ||||
* | gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from ↵ | Patrice Mandin | 2009-07-14 | 1 | -0/+2 |
| | | | | default extension list | ||||
* | nouveau: return some supported zeta formats | Ben Skeggs | 2009-07-01 | 4 | -1/+10 |
| | |||||
* | nouveau: deal with PIPE_CAP_TGSI_CONT_SUPPORTED | Ben Skeggs | 2009-07-01 | 1 | -0/+2 |
| | |||||
* | nv50: fix multi-texturing | Ben Skeggs | 2009-06-06 | 3 | -5/+16 |
| | |||||
* | nv50: support non-normalized texture coords | Ben Skeggs | 2009-06-06 | 4 | -8/+18 |
| | |||||
* | nv50: use larger tile sizes | Ben Skeggs | 2009-06-05 | 2 | -4/+11 |
| | |||||
* | nv50: use nouveau_bo for query buffers | Ben Skeggs | 2009-06-05 | 1 | -13/+12 |
| | |||||
* | nv50: create textures with nouveau_bo, for flexibility with tiling later | Ben Skeggs | 2009-06-05 | 6 | -41/+46 |
| | |||||
* | nouveau: fix build with libdrm_nouveau 0.6 | Ben Skeggs | 2009-06-05 | 3 | -9/+9 |
| | |||||
* | nouveau: remove unneeded code from ws, use pipe_buffer_ instead of ws-> | Ben Skeggs | 2009-06-05 | 3 | -10/+14 |
| | |||||
* | nouveau: move channel creation into pipe drivers | Ben Skeggs | 2009-06-05 | 9 | -51/+45 |
| | |||||
* | nouveau: call notifier/grobj etc funcs directly | Ben Skeggs | 2009-06-05 | 2 | -23/+34 |
| | | | | | libdrm_nouveau is linked with the winsys, there's no good reason to do all this through yet another layer. | ||||
* | nouveau: add pipe_buffer/fence code to pipe drivers, move nv50 over | Ben Skeggs | 2009-06-05 | 6 | -60/+41 |
| | |||||
* | nouveau: pass nouveau_bo instead of pipe_buffer to so_ calls | Ben Skeggs | 2009-06-05 | 8 | -51/+72 |
| | |||||
* | nouveau: call nouveau_pushbuf directly rather than going through nvws | Ben Skeggs | 2009-06-05 | 1 | -1/+1 |
| | |||||
* | nv50: some mipmapping fixes | Ben Skeggs | 2009-05-28 | 4 | -22/+31 |
| | |||||
* | nv50: negate sources directly where supported | Christoph Bumiller | 2009-05-28 | 1 | -42/+68 |
| | |||||
* | nv50: introduce emit_cvt and use it | Christoph Bumiller | 2009-05-28 | 1 | -40/+48 |
| | | | | | This makes some code cleaner, and we can now easily do CEIL and TRUNC. | ||||
* | nv50: fix TXP | Christoph Bumiller | 2009-05-28 | 1 | -23/+112 |
| | | | | | | | | For TXP we need to divide texture coords by their w component, or use the coords' 1/w in the perspective interpolation instruction. This also tries to support 1D, 3D and CUBE textures, and lets the instruction only load the components that are used. | ||||
* | nv50: use multiple constant buffers | Christoph Bumiller | 2009-05-28 | 4 | -48/+105 |
| | | | | | | | Use different buffers for immds, FP params, and VP params. One has to map constant buffer indices in shader code to buffers defined via CB_DEF. In principle, we could use more buffers so we'd have to change the shader code less frequently. | ||||
* | nv50: don't look for unfreed temps in free_nv50_pc | Christoph Bumiller | 2009-05-28 | 1 | -8/+0 |
| | | | | | Since we stopped using alloc_temp to get hw indices for FP attrs there shouldn't be any non-deallocated temps left. | ||||
* | nv50: release hw TEMPs early | Christoph Bumiller | 2009-05-28 | 1 | -0/+19 |
| | | | | | Since we know when we don't use a TEMP or FP ATTR register anymore, we can release their hw resources early. | ||||
* | nv50: allow immediates for MOV, ADD and MUL | Christoph Bumiller | 2009-05-28 | 1 | -5/+22 |
| | | | | | | Immediates are inlined now where possible, so we need to set pc->allow32 to FALSE in LIT where we have the conditional MOV, since immediates swallow the predicate bits. | ||||
* | nv50: enable half insns for MOV and MUL | Christoph Bumiller | 2009-05-28 | 1 | -7/+12 |
| | |||||
* | nv50: make sure half-long insns are paired | Christoph Bumiller | 2009-05-28 | 1 | -0/+72 |
| | | | | | | | I chose to just convert unpaired 32 bit length instructions after parsing all instructions, although it might be possible to determine beforehand whether there would be any lone ones, and then even do some swapping to bring them together ... |