summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50
Commit message (Collapse)AuthorAgeFilesLines
* nv50: fix TEX for WriteMask not equal 0xfChristoph Bumiller2009-09-251-4/+5
| | | | | If you e.g. only need alpha, it ends up in the first reg, not the last, as it would when reading rgb too.
* nv50: actually enable view volume clippingChristoph Bumiller2009-09-251-1/+10
| | | | | | | Until now, only primitives wholly outside the view volume were not drawn. This was only visibile when using a viewport smaller than the window size, naturally.
* nv50: RCP and RSQ cannot load from VP inputsChristoph Bumiller2009-09-251-1/+21
|
* nv50: fix CEIL and TRUNCChristoph Bumiller2009-09-251-4/+5
| | | | Separated the integer rounding mode flag for cvt.
* nv50: implement BGNLOOP, BRK, ENDLOOPChristoph Bumiller2009-09-251-2/+75
| | | | | | There's a good chance a loop won't execute correctly though since our TEMP allocation assumes programs to be executed linearly. Will fix later.
* nv50: implement IF, ELSE, ENDIF opcodesChristoph Bumiller2009-09-251-42/+146
|
* gallium: Deprecate PIPE_CAP_S3TC.José Fonseca2009-09-161-2/+0
| | | | | No longer used. S3TC support is queried via pipe_screen::is_format_supported.
* nv50: avoid excessive FIRE_RINGMaarten Maathuis2009-09-151-2/+3
| | | | - And reduce RING_SPACE to 2, instead of 3.
* nv50: use flush_notify to reduce number of relocsMaarten Maathuis2009-09-153-0/+10
|
* nv50: fix stupid thinko in emit_setChristoph Bumiller2009-09-151-1/+3
| | | | | | | When swapping sources 0 and 1, EQ of course does *not* become NE, etc. Introduced in 2b963f5c723401aa2646bd48eefe065cd335e280.
* nv50: let programs use the whole param bufferChristoph Bumiller2009-09-152-43/+29
| | | | | Allocation is unnecessary since all uniforms are uploaded on every constant buffer change anyway.
* nv50: add preliminary support for point spritesChristoph Bumiller2009-09-153-2/+58
|
* nv50: add support for point size per vertexChristoph Bumiller2009-09-152-0/+15
|
* nv50: add support for light-twosideChristoph Bumiller2009-09-152-0/+22
|
* nv50: proper linkage between VP and FPChristoph Bumiller2009-09-154-161/+298
| | | | | | | | | | | | | | | | | | | | | This moves construction of the mapping between VP outputs and FP inputs into validation. The map also contains slots for special outputs like clip distance and point size, so we need to at least merge the VP related and FP related parts on validation if we want to support those. Now we match every single FP input component with results from the VP and leave those not read out of the map, or replace those not written by 0 (xyz) or 1 (w). The bitmap indicating linear interpolants is also filled, and flat FP inputs are mapped in only after non-flat ones, as is required. Furthermore, we can save some space by only fetching VP attrs we actually use, and avoid wasting any output regs because of TGSI using less than 4 components.
* nv50: move allocation of pc regsChristoph Bumiller2009-09-151-155/+129
| | | | | Make use of tgsi_shader_info to determine how many nv50_regs we need to allocate, whether program uses KIL, or writes DEPR.
* nv50: nicer initialization of nv50_regsChristoph Bumiller2009-09-151-51/+42
|
* nv50: handle CEIL and TRUNC opcodesChristoph Bumiller2009-09-151-0/+16
|
* nv50: handle SEQ, SGT, SLE, SNE opcodesChristoph Bumiller2009-09-151-30/+61
|
* nv50: SIN and COS use src0.w for dst.wChristoph Bumiller2009-09-151-16/+20
|
* nv50: use broadcast TEMP reg in tx_insnChristoph Bumiller2009-09-151-60/+28
| | | | | Makes some opcode cases nicer and might reduce the total nr of TEMPs required, or save some MOVs.
* nv50: add nv50_tgsi_insn to handle swizzles safelyChristoph Bumiller2009-09-151-19/+128
|
* nv50: add functions for swizzle resolutionChristoph Bumiller2009-09-151-30/+118
| | | | | | We're going to try to reorder the scalar ops of a vector instr to accomodate swizzles that would otherwise require us to emit to an additional TEMP first (like MOV R0.xy, R0.zx).
* nv50: extend insn src mask functionChristoph Bumiller2009-09-151-46/+72
| | | | | Extend its usage to avoiding e.g. emission of negation instructions in tx_insn for sources we don't need.
* nv50: Fix m2mf positions.Marcin Kościelnicki2009-09-141-2/+2
|
* nv50: Fix tiling mode for lower mipmap levels.Marcin Kościelnicki2009-09-103-5/+8
|
* nv50: move centroid, flat bits when making interp longChristoph Bumiller2009-09-031-4/+4
| | | | | Before this, just the perspective divide bit was moved in convert_to_long of the load interpolant instruction.
* nv50: fix vbo_static_attrib method size errorChristoph Bumiller2009-09-031-3/+3
| | | | | The VTX_ATTR_3/2/1F methods also had size 4 ... a stupid copy/paste error.
* nv50: fix draw_elements_inline_u08/16Christoph Bumiller2009-09-031-2/+2
| | | | | We've been emitting the same two indices over and over without incrementing map.
* nv50: SWZ is the same as MOV from our perspectiveBen Skeggs2009-09-021-0/+1
|
* nouveau: introduce nouveau_miptree common to all nouveau pipe driversBen Skeggs2009-08-316-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 stateChristoph Bumiller2009-08-291-0/+2
|
* nv50: use VTX_ATTR_nF for constant vtxeltsChristoph Bumiller2009-08-203-1/+75
|
* nv50: set vertex buffer limitsChristoph Bumiller2009-08-201-2/+11
|
* nv50: modify vbo format to hw translation, add BGRA swizzleChristoph Bumiller2009-08-201-39/+65
|
* nv50: remove a few cases of directly casting struct pipe_contextMaarten Maathuis2009-08-172-3/+3
|
* nv50: borrow some flushing code from the ddxMaarten Maathuis2009-08-171-3/+11
| | | | | - This fixes neverball corruption. - I'm unsure about what we're actually flushing here.
* nv50: whitespace fixes and deobfuscationMaarten Maathuis2009-08-179-69/+85
|
* nv50: fix stencil stateChristoph Bumiller2009-08-171-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 changesMaarten Maathuis2009-08-151-1/+26
| | | | - We cannot assume all state objects are present when the pipe context changes.
* nv50: align registers used with TEX to 4Christoph Bumiller2009-08-151-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 tilingChristoph Bumiller2009-08-143-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 stateChristoph Bumiller2009-08-141-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 switchChristoph Bumiller2009-08-142-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_immdChristoph Bumiller2009-08-141-1/+1
|
* nv50: support non-blocking query_result()Ben Skeggs2009-07-291-5/+5
|
* nv50: correct zeta formatsChristoph Bumiller2009-07-293-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 namesChristoph Bumiller2009-07-291-4/+4
|
* nv50: support more vtxelt formatsChristoph Bumiller2009-07-291-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_u32Christoph Bumiller2009-07-291-1/+1
|