[[!table header="no" class="mointable" data=""" **Item ID** | **Dependencies** | **Est. Days** | **Priority** | **Category** | **Description** | **Item Author** | **Current Owner** | **Notes** XF01 (Done, pending tests) | | 3 | high | GL 3.0 | Enhance state tracking for transform feedback | [[DanMcCabe|DanMcCabe]] | [[DanMcCabe|DanMcCabe]] | Previously completed by [[BrianPaul|BrianPaul]] XF02 (Done, pending tests) | | 2 | high | GL 3.0 | Add 9 transform feedback entry points | [[DanMcCabe|DanMcCabe]] | [[DanMcCabe|DanMcCabe]] | Previously completed by [[BrianPaul|BrianPaul]] XF03 (Done, pending tests) | [[XF02|WorkQueue]] | 5 | high | GL 3.0 | Validate parameters in transform feedback entry points | [[DanMcCabe|DanMcCabe]] | [[DanMcCabe|DanMcCabe]] | Previously completed by [[BrianPaul|BrianPaul]] XF04 (Done, pending tests) | | 5 | high | GL 3.0 | Validate transform feedback related parameters in existing GL entry points | [[DanMcCabe|DanMcCabe]] | [[DanMcCabe|DanMcCabe]] | Previously completed by [[BrianPaul|BrianPaul]] XF05 (Done, pending tests) | | 5 | high | GL 3.0 | glBindBuffers support for transform feedback | [[DanMcCabe|DanMcCabe]] | [[DanMcCabe|DanMcCabe]] | Previously completed by [[BrianPaul|BrianPaul]] XF06 | | 5 | high | GL 3.0 | Varying variable support for transform feedback. This is filling in the guts of glTransformFeedbackVaryings and glGetTransformFeedbackVarying. | [[DanMcCabe|DanMcCabe]] | [[EricAnholt|EricAnholt]] | XF07 (Done, pending tests) | [[XF06|WorkQueue]] | 5 | high | GL 3.0 | Enhance linker support for transform feedback | [[DanMcCabe|DanMcCabe]] | [[PaulBerry|PaulBerry]] | XF_SNB_1 (Done) | | | high | GL 3.0 | Learn how to test stream output logic in the simulator | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_SNB_2 (Done) | | | high | GL 3.0 | Implement pass-through GS shader program | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_SNB_3 (Done) | | | high | GL 3.0 | Output dummy data to transform feedback buffer | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_SNB_4 (Done) | | | high | GL 3.0 | Output correct data in SEPARATE_ATTRIBS mode | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_SNB_5 (Done) | | | high | GL 3.0 | Output correct data in INTERLEAVED_ATTRIBS mode | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_SNB_6 (Done) | | | high | GL 3.0 | Ensure that buffer overflow behavior is correct | [[PaulBerry|PaulBerry]] | [[KennethGraunke|KennethGraunke]] | XF_SNB_7 (Done) | | | high | GL 3.0 | Update pointers correctly on begin/end/pause/resume | [[PaulBerry|PaulBerry]] | [[KennethGraunke|KennethGraunke]] | XF_SNB_8 (Done) | | | high | GL 3.0 | Implement rasterizer discard | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_SNB_9 | | | high | GL 3.0 | Thoroughly test and debug all SNB XF behavior except queries | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_SNB_10 (Done) | | | high | GL 3.0 | Implement PRIMITIVES_GENERATED and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_SNB_11 (Done) | | | high | GL 3.0 | Test PRIMITIVES_GENERATED and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | XF_IVB_1 (Done) | | | high | GL 3.0 | Kernel interface for setting registers | [[PaulBerry|PaulBerry]] | [[EricAnholt|EricAnholt]] | XF_IVB_2 (Done) | | | high | GL 3.0 | Output correct data in SEPARATE_ATTRIBS mode | [[PaulBerry|PaulBerry]] | [[EricAnholt|EricAnholt]] | XF_IVB_3 (Done) | | | high | GL 3.0 | Output correct data in INTERLEAVED_ATTRIBS mode | [[PaulBerry|PaulBerry]] | [[EricAnholt|EricAnholt]] | XF_IVB_4 | | | high | GL 3.0 | Ensure that buffer overflow behavior is correct | [[PaulBerry|PaulBerry]] | [[EricAnholt|EricAnholt]] | Should be fine, need to review tests and run them. XF_IVB_5 (Done) | | | high | GL 3.0 | Update pointers correctly on begin/end/pause/resume | [[PaulBerry|PaulBerry]] | | Cross-batchbuffer pointers incorrect, need to review tests and implement. XF_IVB_6 (Done) | | | high | GL 3.0 | Implement rasterizer discard | [[PaulBerry|PaulBerry]] | [[EricAnholt|EricAnholt]] | (works) XF_IVB_7 (Done) | | | high | GL 3.0 | Thoroughly test and debug all IVB XF behavior except queries | [[PaulBerry|PaulBerry]] | | (note: some oglc failures remain, one class may be IVB specific) XF_IVB_8 (Done) | | | high | GL 3.0 | Implement PRIMITIVES_GENERATED and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries | [[PaulBerry|PaulBerry]] | | XF_IVB_9 (Done) | | | high | GL 3.0 | Test PRIMITIVES_GENERATED and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries | [[PaulBerry|PaulBerry]] | | XF14 (Done) | | 5 | low | GL 3.0 | Test input validity | [[DanMcCabe|DanMcCabe]] | [[EugeniDodonov|EugeniDodonov]], [[PaulBerry|PaulBerry]] | [[http://cgit.freedesktop.org/~eugeni/piglit/|http://cgit.freedesktop.org/~eugeni/piglit/]], priority is lowered because Marek's piglit test already covers this partly XF15 | | 3 | low | GL 3.0 | Test buffer binding | [[DanMcCabe|DanMcCabe]] | [[EugeniDodonov|EugeniDodonov]], [[PaulBerry|PaulBerry]] | [[http://cgit.freedesktop.org/~eugeni/piglit/|http://cgit.freedesktop.org/~eugeni/piglit/]], priority is lowered because Marek's piglit test already covers this partly XF16 (Done) | | 2 | high | GL 3.0 | Test linking and glUseProgram | [[DanMcCabe|DanMcCabe]] | [[PaulBerry|PaulBerry]] | XF17 | | 2 | high | GL 3.0 | Test tesselation and incomplete primitives | [[DanMcCabe|DanMcCabe]] | Paul Berry | I think this estimate is low. XF18 | | 1 | high | GL 3.0 | Test buffer overflow | [[DanMcCabe|DanMcCabe]] | Paul Berry | I think this estimate is low. XF19 | | 3 | high | GL 3.0 | Test varyings | [[DanMcCabe|DanMcCabe]] | Paul Berry | I think this estimate is low. XF20 (Done) | | 5 | high | GL 3.0 | Test output | [[DanMcCabe|DanMcCabe]] | [[MarekOlsak|MarekOlsak]] | IR1 | | 10 | high | perf | Replace context “program” attached state with SSO-style shader state | [[IanRomanick|IanRomanick]] | [[IanRomanick|IanRomanick]] | IR2 | [[IR1|WorkQueue]] | 10 | high | perf | Generate GLSL IR for ARB assembly programs | [[IanRomanick|IanRomanick]] | | IR3 | [[IR1|WorkQueue]] | 10 | high | perf | Generate GLSL IR for NV vertex assembly programs | [[IanRomanick|IanRomanick]] | | There will be a lot of cut-and-paste between IR2 and IR3 IR4 | | 3 | high | perf | Remove NV fragment assembly program support | [[IanRomanick|IanRomanick]] | | CD0 (Done) | | 10 | high | GL 3.0 | Refactor VUE layout code in preparation for `gl_ClipDistance` | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CD1 (Done) | | 5 | high | GL 3.0 | Compiler front-end support for `gl_Distance` | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CD2 (Done) | [[CD1|WorkQueue]] | 5 | high | GL 3.0 | Lower `gl_ClipDistance` from float[8] to vec4[2] | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CD3 (Done) | [[CD2|WorkQueue]] | 5 | high | GL 3.0 | Test `gl_ClipDistance` lowering pass | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CD4 (Done) | [[CD3|WorkQueue]] | 5 | high | GL 3.0 | SNB support for `gl_ClipDistance` | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | "First triangle" achieved on private branch 9/2 CD5 (Done) | [[CD1|WorkQueue]] | 3 | med | GL 3.0 | Emit error if a shader writes both `gl_ClipDistance` and `gl_ClipVertex` | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CD6 (Done) | | 5 | high | GL 3.0 | Add `gl_ClipDistance` as a fragment shader built-in input | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CD7 (Done) | | 5 | high | GL 3.0 | Implement and test `gl_ClipDistance` sizing rules | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CD8 (Done) | | 3 | high | GL 3.0 | `gl_ClipDistance` tests | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CV1 (Done) | | 5 | med | GL 2.x | Add gl_vert_result slot for `gl_ClipVertex` | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CV2 (Done) | | 5 | med | GL 2.x | Detect writes to `gl_ClipVertex` in the linker | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | Proved to be unnecessary CV3 | [[CV2|WorkQueue]] | 3 | low | GL 2.x | Use proper slot for writes to `gl_ClipVertex` (i915) | [[PaulBerry|PaulBerry]] | | CV4 | [[CV2|WorkQueue]] | 3 | low | GL 2.x | Use proper slot for writes to `gl_ClipVertex` (i965, pre-SNB) | [[PaulBerry|PaulBerry]] | | CV5 (Done) | [[CV2|WorkQueue]] | 3 | low | GL 2.x | Use proper slot for writes to `gl_ClipVertex` (i965, SNB+) | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | CV6 (Done) | | 3 | low | GL 2.x | `gl_ClipVertex` tests | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | These could be co-developed w/CD8 HTRIG1 (Done) | | 2 | med | GL 3.0 | Test GLSL 1.30 hyperbolic trig functions | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | HTRIG2 (Done) | [[VS12|WorkQueue]] | 3 | med | GL 3.0 | Fix GLSL 1.30 hyperbolic trig functions | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | TEST1 (Done) | | 5 | med | GL 3.0 | Adapt built-in tests for new unsigned types (vector and scalar) | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | TEST2 (Done) | | 3 | med | GL 3.0 | Adapt built-in tests to test operators | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | TEST3 (Done) | [[TEST6|WorkQueue]] | 3 | med | GL 3.0 | Test `isinf` and `isnan` | [[PaulBerry|PaulBerry]] | [[PaulBerry|PaulBerry]] | Depends on TEST6 because otherwise interpolation turns infinities into [[NaNs|NaNs]] TEST4 (Done) | | 3 | med | GL 3.0 | Test `noperspective` interpolation qualifier. | [[ChadVersace|ChadVersace]] | [[PaulBerry|PaulBerry]] | TEST5 | | 3 | med | GL 3.0 | Test `centroid` interpolation qualifier. | [[ChadVersace|ChadVersace]] | [[PaulBerry|PaulBerry]] | TEST6 (Done) | | 3 | med | GL 3.0 | Test flat interpolation qualifier. | [[ChadVersace|ChadVersace]] | [[PaulBerry|PaulBerry]] | TEST7 (Done) | | 1 | med | GL 3.0 | Shader inputs are read-only. We already mark global inputs as ro, but have no tests for it. | [[ChadVersace|ChadVersace]] | [[PaulBerry|PaulBerry]] | HIZ1 (Done) | | 5 | high | perf | Write resolve meta-ops for hiz->depth and depth->hiz | [[ChadVersace|ChadVersace]] | [[ChadVersace|ChadVersace]] | HIZ2 (Done) | | 5 | high | perf | Hook resolves into texture & draw functions (no mipmaps yet) | [[ChadVersace|ChadVersace]] | [[ChadVersace|ChadVersace]] | HIZ3 (Done) | [[HIZ2|WorkQueue]] | 4 | high | perf | Test and debug hiz->depth resolve hooks (single ctx, no mipmaps). | [[ChadVersace|ChadVersace]] | [[ChadVersace|ChadVersace]] | HIZ4 (Done) | [[HIZ2|WorkQueue]] | 4 | high | perf | Test and debug depth->hiz resolve hooks (single ctx, no mipmaps). | [[ChadVersace|ChadVersace]] | [[ChadVersace|ChadVersace]] | HIZ5 (Done) | [[HIZ3|WorkQueue]] [[HIZ4|WorkQueue]] | 4 | high | perf | Test and debug multi-context resolve hooks. | [[ChadVersace|ChadVersace]] | [[ChadVersace|ChadVersace]] | HIZ6 (Done) | | 5 | med | perf | Fast clear | [[ChadVersace|ChadVersace]] | [[ChadVersace|ChadVersace]] | HIZ7 (Done) | [[HIZ3|WorkQueue]] [[HIZ4|WorkQueue]] | 4 | high | perf | Resolve mipmap depth textures. | [[ChadVersace|ChadVersace]] | [[ChadVersace|ChadVersace]] | GLSL1 (Done) | | 1 | med | GL 3.0 | Generate errors for integer literals that are out of bounds | [[ChadVersace|ChadVersace]] | [[EricAnholt|EricAnholt]] | GLSL2 (Done) | | 3 | med | GL 3.0 | Add `gl_VertexID` and related global variables | [[ChadVersace|ChadVersace]] | [[IanRomanick|IanRomanick]] | Finished by Ian in 2010 GLSL3 (Done) | | 2 | med | GL 3.0 | Add opcodes for `isinf` and `isnan` | [[IanRomanick|IanRomanick]] | [[PaulBerry|PaulBerry]] | Proved to be unnecessary GLSL4 (Done) | [[GLSL3|WorkQueue]] | 5 | med | GL 3.0 | Lower `isinf` and `isnan` opcodes to various modes of detection on different hardware | [[IanRomanick|IanRomanick]] | [[PaulBerry|PaulBerry]] | Proved to be unnecessary GLSL5 (Done) | [[TEST3|WorkQueue]] | 3 | med | GL 3.0 | Add `isinf` and `isnan` built-in functions. | [[IanRomanick|IanRomanick]] | [[PaulBerry|PaulBerry]] | GLSL6 (Done) | | 2 | med | GL 3.0 | Implement proper integer division and modulus support. | [[KennethGraunke|KennethGraunke]] | [[KennethGraunke|KennethGraunke]] | Patches on mailing list LINK1 | | 2 | med | GL 3.0 | Generate errors when interpolation qualifiers on `gl_Color` don't match | [[ChadVersace|ChadVersace]] | [[PaulBerry|PaulBerry]] | LINK2 | | 2 | low | GL 3.0 | Generate errors when precision qualifiers don't match. | [[ChadVersace|ChadVersace]] | [[PaulBerry|PaulBerry]] | LINK3 | | 3 | med | GL 3.0 | Generate an error when there is an assignment to more than one of `gl_FragColor`, `gl_FragData`, and a user-defined fragment shader output. | [[ChadVersace|ChadVersace]] | [[PaulBerry|PaulBerry]] | TEX1 (Done) | | 5 | med | GL 3.0 | [[EXT_texture_shared_exponent|http://www.opengl.org/registry/specs/EXT/texture_shared_exponent.txt]] | [[ChadVersace|ChadVersace]] | [[EricAnholt|EricAnholt]] | TEX2 (Done) | | 1 | med | GL 3.0 | [[EXT_packed_float (texturing)|http://www.opengl.org/registry/specs/EXT/packed_float.txt]] | [[ChadVersace|ChadVersace]] | [[EricAnholt|EricAnholt]] | TEX2.5 (Done) | | 4 | med | GL 3.0 | [[EXT_packed_float (renderbuffer)|http://www.opengl.org/registry/specs/EXT/packed_float.txt]] | Eric Anholt | | TEX3 (Done) | | 5 | low | perf | Real half-float texture support | [[ChadVersace|ChadVersace]] | | TEX4 (Done) | | 4 | med | GL 3.0 | Floating-point depth buffer support. | [[KennethGraunke|KennethGraunke]] | [[EricAnholt|EricAnholt]] | TEX5 (Done) | | 3 | med | GL 3.0 | Add 6 [[EXT_texture_integer|http://www.opengl.org/registry/specs/EXT/texture_integer.txt]] entry points | [[IanRomanick|IanRomanick]] | [[BrianPaul|BrianPaul]] | TEX6 (Done) | | 2 | med | GL 3.0 | Update existing entry points to accept [[EXT_texture_integer|http://www.opengl.org/registry/specs/EXT/texture_integer.txt]] enums | [[IanRomanick|IanRomanick]] | [[BrianPaul|BrianPaul]] | TEX7 (Done) | [[TEX6|WorkQueue]] | 5 | med | GL 3.0 | Update pixel (texel) transfer paths to support integer textures | [[IanRomanick|IanRomanick]] | [[BrianPaul|BrianPaul]] | TEX8 (Done) | | 3 | med | GL 3.0 | Add GLSL built-in integer sampler types and functions. | [[IanRomanick|IanRomanick]] | [[KennethGraunke|KennethGraunke]] | Compiler support in place since 2010 TEX9 | [[TEX8|WorkQueue]] | 3 | med | GL 3.0 | 965 back-end support for integer samplers. | [[IanRomanick|IanRomanick]] | [[EricAnholt|EricAnholt]] | TEX9.1 | | 3 | med | GL 3.0 | integer: clamping and conversion in readback path. | [[EricAnholt|EricAnholt]] | | TEX9.2 | | 3 | med | GL 3.0 | integer: [[BlitFramebuffer|BlitFramebuffer]] | [[EricAnholt|EricAnholt]] | | TEX9.3 (Done) | | 3 | med | GL 3.0 | integer: [[DrawPixels|DrawPixels]] | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | TEX9.4 | | 3 | med | GL 3.0 | integer: [[CopyPixels|CopyPixels]] | [[EricAnholt|EricAnholt]] | | TEX10 (Done) | | 5 | med | GL 3.0 | Test 3.0 spec section "Required Texture Formats" | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | TEX11 (Done) | | 5 | med | GL 3.0 | Test 3.0 spec section "Required Framebuffer Formats" | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | VSTEX (Done) | [[VS12|WorkQueue]] | 10 | high | GL 3.0 | Implement Vertex Shader Texturing | [[KennethGraunke|KennethGraunke]] | [[KennethGraunke|KennethGraunke]] | Upstream; still need piles more tests. VS1 (Done) | | 5 | high | perf | i965 vertex shader “first triangle” | [[EricAnholt|EricAnholt]] | | VS2 (Done) | | 5 | high | perf | Register allocator | [[EricAnholt|EricAnholt]] | | VS3 (Done) | | 5 | high | perf | Assignment handling | [[EricAnholt|EricAnholt]] | | VS4 (Done) | | 5 | high | perf | Copy propagation | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | || VS5 | | 5 | high | perf | Dead code elimination | [[EricAnholt|EricAnholt]] | | VS6 (Done) | | 5 | high | perf | Uniform arrays | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | VS7 (Done) | [[GLSL2|WorkQueue]] | 5 | high | perf | Support built-in `gl_VertexID` in i965 vertex shader back-end | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | VS8 (Done) | | 5 | high | perf | Compute to MRF | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | VS9 (Done) | | 5 | high | perf | Constant propagation | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | VS10 | | 5 | med | perf | Instruction scheduling | [[EricAnholt|EricAnholt]] | | VS11 (Done) | | 5 | high | perf | Large URB entries | [[EricAnholt|EricAnholt]] | | VS12 (Done) | | 5 | high | perf | New VS backend on by default | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | PERF1 | | 3 | low | perf | IVB conditional rendering support | [[EricAnholt|EricAnholt]] | | PERF2 | | 10 | med | perf | Kernel domain tracking lobotomy | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | PERF3 | | 10 | high | perf | Non-blocking [[ARB_map_buffer_range|http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt]] | [[EricAnholt|EricAnholt]] | [[BenWidawski|BenWidawski]] | PERF4 (Done) | [[RBMAP4|WorkQueue]] | 3 | high | perf | Uncached -> cached map blits | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | PERF5 | | 3 | med | perf | Kernel GFDT testing | [[EricAnholt|EricAnholt]] | | PERF6 | | 5 | low | perf | Guardband clipping | [[EricAnholt|EricAnholt]] | | PERF7 | | 5 | med | perf | GLSL expression CSE | [[EricAnholt|EricAnholt]] | | PERF8 | | 5 | med | perf | GLSL texture operation CSE | [[EricAnholt|EricAnholt]] | | PERF9.1 | | 3 | low | perf | Hack in the constant color write and analyze performance impact | [[EricAnholt|EricAnholt]] | | PERF9.2 | [[PERF9.1|WorkQueue]] | 5 | low | perf | Detect glClear constant color writes and emit correct constant color write code | [[EricAnholt|EricAnholt]] | | PERF10.1 | | 5 | med | perf | Fragment shader uniform array indexing. Plumb in reladdrs and fix up optimization to know about them. | [[EricAnholt|EricAnholt]] | | PERF10.2 | [[PERF10.1|WorkQueue]] | 5 | med | perf | Get the send message working for loading uniforms | [[EricAnholt|EricAnholt]] | | PERF11 | | 5 | med | perf | Meta-ops winsys -> texture bind hook | [[EricAnholt|EricAnholt]] | | PERF12 | [[PERF11|WorkQueue]] | 5 | med | perf | glCopyTexImage from winsys | [[EricAnholt|EricAnholt]] | | PERF13 | [[PERF11|WorkQueue]] | 5 | med | perf | glBlitFramebuffer from winsys | [[EricAnholt|EricAnholt]] | | PERF14 (Done) | | 3 | med | perf | FS assignment handling rework. Port over the lesson from VS assignment handling, revert the old mess. | [[EricAnholt|EricAnholt]] | [[KennethGraunke|KennethGraunke]] | FFS1 (Done) | | 5 | high | perf | Finish fixed-function fragment shader support | [[EricAnholt|EricAnholt]] | | High priority because the work is mostly done. FFS2 | | 5 | high | perf | Get glxgears running in fixed-function vertex shader conversion | [[EricAnholt|EricAnholt]] | | High priority because the work is mostly done. FFS3 | [[FFS2|WorkQueue]] | 5 | high | perf | Make sure fixed-function vertex shader conversion doesn't regress softpipe | [[EricAnholt|EricAnholt]] | | FFS4 | [[FFS2|WorkQueue]] [[VS12|WorkQueue]] | 5 | high | perf | Make sure fixed-function vertex shader conversion doesn't regress i965 VS | [[EricAnholt|EricAnholt]] | | RBMAP1 (Done) | | 10 | med | perf | Renderbuffer mapping hook. This includes nouveau and radeon, unfortunately. It also includes getting public support for dropping DRI1 drivers from the tree. | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | RBMAP2 | [[RBMAP1|WorkQueue]] | 5 | low | perf | swrast render-buffer color mapping | [[EricAnholt|EricAnholt]] | | RBMAP3 | [[RBMAP1|WorkQueue]] | 5 | low | perf | swrast render-buffer depth mapping | [[EricAnholt|EricAnholt]] | | RBMAP4 (Done) | [[RBMAP1|WorkQueue]] | 5 | med | perf | swrast glReadPixels mapping | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | RBMAP5 | [[RBMAP1|WorkQueue]] | 5 | low | perf | swrast glDrawPixels mapping | [[EricAnholt|EricAnholt]] | | RBMAP6 | [[RBMAP1|WorkQueue]] | 5 | low | perf | swrast stencil mapping | [[EricAnholt|EricAnholt]] | | RBMAP7 | | 3 | med | perf | Accumulation buffer tests | [[EricAnholt|EricAnholt]] | | RBMAP8 (Done) | [[RBMAP1|WorkQueue]] | 5 | low | perf | swrast accumulation buffer mapping | [[EricAnholt|EricAnholt]] | [[BrianPaul|BrianPaul]] | RBMAP9 (Done) | [[RBMAP1|WorkQueue]] | 5 | low | perf | swrast clear mapping | [[EricAnholt|EricAnholt]] | [[BrianPaul|BrianPaul]] | CUBE1 (Done) | | 3 | med | GL 3.0 | Allow glTexImage2D and glCopyTexImage2D with a depth component cube map | [[IanRomanick|IanRomanick]] | [[AnujPhogat|AnujPhogat]] | CUBE2 | [[CUBE1|WorkQueue]] | 5 | med | GL 3.0 | Enable back-end generation of cube shadow samplers | [[IanRomanick|IanRomanick]] | [[AnujPhogat|AnujPhogat]] | CUBE3 (Done) | [[CUBE2|WorkQueue]] | 10 | med | GL 3.0 | Figure out what AMD & NVIDIA do for fixed-function cube shadows and imitate that. | [[IanRomanick|IanRomanick]] | [[AnujPhogat|AnujPhogat]] | NVIDIA and AMD each do something different, so undefined is undefined. There's nothing to do here. ARRAY (Done) | | 5 | ? | GL 3.0 | Finish support for [[ARB_texture_array|http://www.opengl.org/registry/specs/ARB/texture_array.txt]] | [[EricAnholt|EricAnholt]] | [[EricAnholt|EricAnholt]] | CB1 (Done) | | 3 | low | GL 3.0 | Verify error code generation for `glClearBuffer`* | [[IanRomanick|IanRomanick]] | [[IanRomanick|IanRomanick]] | CB2 (Done) | | 3 | med | GL 3.0 | Verify depth clears with `glClearBuffer`* | [[IanRomanick|IanRomanick]] | [[IanRomanick|IanRomanick]] | CB3 (Done) | | 3 | med | GL 3.0 | Verify stencil clears with `glClearBuffer`* | [[IanRomanick|IanRomanick]] | [[IanRomanick|IanRomanick]] | CB4 | | 3 | med | GL 3.0 | Verify mixed format color buffer clears with `glClearBuffer`* | [[IanRomanick|IanRomanick]] | | CB5 | | 3 | med | GL 3.0 | Verify that `glClearBuffer`* can be compiled into display lists | [[IanRomanick|IanRomanick]] | | CC1 | | 5 | med | GL 3.0 | Implement GLX protocol for `SetClientInfo` (client & server) | [[IanRomanick|IanRomanick]] | [[IanRomanick|IanRomanick]] | The client bits are mostly done on the GLX_ARB_create_context branch of my Mesa tree. XCB patches heading to the list soon. CC2 | [[CC1|WorkQueue]] | 5 | med | GL 3.0 | Implement GLX protocol for `CreateContextAttribs` | [[IanRomanick|IanRomanick]] | [[IanRomanick|IanRomanick]] | CC3 | [[CC2|WorkQueue]] | 3 | med | GL 3.0 | Implement DRI2 `createContext2` interface that sends the attributes to the driver. | [[IanRomanick|IanRomanick]] | [[IanRomanick|IanRomanick]] | CC4 | [[CC3|WorkQueue]] | 3 | med | GL 3.0 | Add support for the DRI2 `createContext2` interface to the Intel drivers. | [[IanRomanick|IanRomanick]] | [[IanRomanick|IanRomanick]] | UNI1 (Done) | | 10 | ? | GL 3.0 | Create data structure similar to glsl_type for storing uniform data. It should contain the original typed data and the float “shadow” for drivers that need that. | [[KennethGraunke|KennethGraunke]] | [[IanRomanick|IanRomanick]] | Patches in the idr-work branch of my personal git repo. UNI2 (Done) | [[UNI1|WorkQueue]] | 5 | ? | GL 3.0 | Create map from uniform names to storage (new structure). | [[KennethGraunke|KennethGraunke]] | [[IanRomanick|IanRomanick]] | UNI3 (Done) | [[UNI2|WorkQueue]] | 10 | ? | GL 3.0 | Store uniform data in new structure. | [[KennethGraunke|KennethGraunke]] | [[IanRomanick|IanRomanick]] | UNI4 (Done) | [[UNI3|WorkQueue]] | 10 | ? | GL 3.0 | Make `ir_to_mesa` use the new uniform storage and mapping | [[KennethGraunke|KennethGraunke]] | [[IanRomanick|IanRomanick]] | UNI5 | [[UNI7|WorkQueue]] | 10 | ? | GL 3.0 | Make `brw_fs` use the new uniform storage and mapping | [[KennethGraunke|KennethGraunke]] | | With the other work, this will just be an optimization. It can wait a bit. UNI6 | [[UNI4|WorkQueue]] | ? | ? | GL 3.0 | Split out any remaining uniform handling & resource allocation from `ir_to_mesa` | [[KennethGraunke|KennethGraunke]] | [[IanRomanick|IanRomanick]] | UNI7 | [[UNI6|WorkQueue]] | ? | ? | GL 3.0 | make `ir_to_mesa` stop generating code for fragment shaders when there is another (hardware) back-end active. | [[KennethGraunke|KennethGraunke]] | [[IanRomanick|IanRomanick]] | TXF1 (Done) | | 3 | med | GL 3.0 | Add support for the `ir_txf` opcode using the “ld” sampler message in `brw_fs` | [[KennethGraunke|KennethGraunke]] | [[KennethGraunke|KennethGraunke]] | TXF2 (Done) | | 4 | med | GL 3.0 | Write tests for texelFetch | [[KennethGraunke|KennethGraunke]] | [[DaveAirlie|DaveAirlie]] | TXS1 (Done) | | 3 | high | GL 3.0 | Merge kwg/txs branch with airlied's patch, and push both. | [[KennethGraunke|KennethGraunke]] | | High priority because the work is mostly done. TXS2 (Done) | | 3 | high | GL 3.0 | Write tests for textureSize | [[KennethGraunke|KennethGraunke]] | | Could add more tests TXS3 (Done) | | 3 | med | GL 3.0 | Implement TXS on GEN4 via SIMD16 resinfo message | [[KennethGraunke|KennethGraunke]] | | """]]