WorkQueue

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

Previously completed by BrianPaul

XF02 (Done, pending tests)

2

high

GL 3.0

Add 9 transform feedback entry points

DanMcCabe

DanMcCabe

Previously completed by BrianPaul

XF03 (Done, pending tests)

XF02

5

high

GL 3.0

Validate parameters in transform feedback entry points

DanMcCabe

DanMcCabe

Previously completed by BrianPaul

XF04 (Done, pending tests)

5

high

GL 3.0

Validate transform feedback related parameters in existing GL entry points

DanMcCabe

DanMcCabe

Previously completed by BrianPaul

XF05 (Done, pending tests)

5

high

GL 3.0

glBindBuffers support for transform feedback

DanMcCabe

DanMcCabe

Previously completed by BrianPaul

XF06

5

high

GL 3.0

Varying variable support for transform feedback. This is filling in the guts of glTransformFeedbackVaryings and glGetTransformFeedbackVarying.

DanMcCabe

EricAnholt

XF07 (Done, pending tests)

XF06

5

high

GL 3.0

Enhance linker support for transform feedback

DanMcCabe

PaulBerry

XF_SNB_1 (Done)

high

GL 3.0

Learn how to test stream output logic in the simulator

PaulBerry

PaulBerry

XF_SNB_2 (Done)

high

GL 3.0

Implement pass-through GS shader program

PaulBerry

PaulBerry

XF_SNB_3 (Done)

high

GL 3.0

Output dummy data to transform feedback buffer

PaulBerry

PaulBerry

XF_SNB_4 (Done)

high

GL 3.0

Output correct data in SEPARATE_ATTRIBS mode

PaulBerry

PaulBerry

XF_SNB_5 (Done)

high

GL 3.0

Output correct data in INTERLEAVED_ATTRIBS mode

PaulBerry

PaulBerry

XF_SNB_6 (Done)

high

GL 3.0

Ensure that buffer overflow behavior is correct

PaulBerry

KennethGraunke

XF_SNB_7 (Done)

high

GL 3.0

Update pointers correctly on begin/end/pause/resume

PaulBerry

KennethGraunke

XF_SNB_8 (Done)

high

GL 3.0

Implement rasterizer discard

PaulBerry

PaulBerry

XF_SNB_9

high

GL 3.0

Thoroughly test and debug all SNB XF behavior except queries

PaulBerry

PaulBerry

XF_SNB_10 (Done)

high

GL 3.0

Implement PRIMITIVES_GENERATED and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries

PaulBerry

PaulBerry

XF_SNB_11 (Done)

high

GL 3.0

Test PRIMITIVES_GENERATED and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries

PaulBerry

PaulBerry

XF_IVB_1 (Done)

high

GL 3.0

Kernel interface for setting registers

PaulBerry

EricAnholt

XF_IVB_2 (Done)

high

GL 3.0

Output correct data in SEPARATE_ATTRIBS mode

PaulBerry

EricAnholt

XF_IVB_3 (Done)

high

GL 3.0

Output correct data in INTERLEAVED_ATTRIBS mode

PaulBerry

EricAnholt

XF_IVB_4

high

GL 3.0

Ensure that buffer overflow behavior is correct

PaulBerry

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

Cross-batchbuffer pointers incorrect, need to review tests and implement.

XF_IVB_6 (Done)

high

GL 3.0

Implement rasterizer discard

PaulBerry

EricAnholt

(works)

XF_IVB_7 (Done)

high

GL 3.0

Thoroughly test and debug all IVB XF behavior except queries

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

XF_IVB_9 (Done)

high

GL 3.0

Test PRIMITIVES_GENERATED and TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries

PaulBerry

XF14 (Done)

5

low

GL 3.0

Test input validity

DanMcCabe

EugeniDodonov, PaulBerry

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

EugeniDodonov, PaulBerry

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

PaulBerry

XF17

2

high

GL 3.0

Test tesselation and incomplete primitives

DanMcCabe

Paul Berry

I think this estimate is low.

XF18

1

high

GL 3.0

Test buffer overflow

DanMcCabe

Paul Berry

I think this estimate is low.

XF19

3

high

GL 3.0

Test varyings

DanMcCabe

Paul Berry

I think this estimate is low.

XF20 (Done)

5

high

GL 3.0

Test output

DanMcCabe

MarekOlsak

IR1

10

high

perf

Replace context “program” attached state with SSO-style shader state

IanRomanick

IanRomanick

IR2

IR1

10

high

perf

Generate GLSL IR for ARB assembly programs

IanRomanick

IR3

IR1

10

high

perf

Generate GLSL IR for NV vertex assembly programs

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

CD0 (Done)

10

high

GL 3.0

Refactor VUE layout code in preparation for gl_ClipDistance

PaulBerry

PaulBerry

CD1 (Done)

5

high

GL 3.0

Compiler front-end support for gl_Distance

PaulBerry

PaulBerry

CD2 (Done)

CD1

5

high

GL 3.0

Lower gl_ClipDistance from float[8] to vec4[2]

PaulBerry

PaulBerry

CD3 (Done)

CD2

5

high

GL 3.0

Test gl_ClipDistance lowering pass

PaulBerry

PaulBerry

CD4 (Done)

CD3

5

high

GL 3.0

SNB support for gl_ClipDistance

PaulBerry

PaulBerry

"First triangle" achieved on private branch 9/2

CD5 (Done)

CD1

3

med

GL 3.0

Emit error if a shader writes both gl_ClipDistance and gl_ClipVertex

PaulBerry

PaulBerry

CD6 (Done)

5

high

GL 3.0

Add gl_ClipDistance as a fragment shader built-in input

PaulBerry

PaulBerry

CD7 (Done)

5

high

GL 3.0

Implement and test gl_ClipDistance sizing rules

PaulBerry

PaulBerry

CD8 (Done)

3

high

GL 3.0

gl_ClipDistance tests

PaulBerry

PaulBerry

CV1 (Done)

5

med

GL 2.x

Add gl_vert_result slot for gl_ClipVertex

PaulBerry

PaulBerry

CV2 (Done)

5

med

GL 2.x

Detect writes to gl_ClipVertex in the linker

PaulBerry

PaulBerry

Proved to be unnecessary

CV3

CV2

3

low

GL 2.x

Use proper slot for writes to gl_ClipVertex (i915)

PaulBerry

CV4

CV2

3

low

GL 2.x

Use proper slot for writes to gl_ClipVertex (i965, pre-SNB)

PaulBerry

CV5 (Done)

CV2

3

low

GL 2.x

Use proper slot for writes to gl_ClipVertex (i965, SNB+)

PaulBerry

PaulBerry

CV6 (Done)

3

low

GL 2.x

gl_ClipVertex tests

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

HTRIG2 (Done)

VS12

3

med

GL 3.0

Fix GLSL 1.30 hyperbolic trig functions

PaulBerry

PaulBerry

TEST1 (Done)

5

med

GL 3.0

Adapt built-in tests for new unsigned types (vector and scalar)

PaulBerry

PaulBerry

TEST2 (Done)

3

med

GL 3.0

Adapt built-in tests to test operators

PaulBerry

PaulBerry

TEST3 (Done)

TEST6

3

med

GL 3.0

Test isinf and isnan

PaulBerry

PaulBerry

Depends on TEST6 because otherwise interpolation turns infinities into NaNs

TEST4 (Done)

3

med

GL 3.0

Test noperspective interpolation qualifier.

ChadVersace

PaulBerry

TEST5

3

med

GL 3.0

Test centroid interpolation qualifier.

ChadVersace

PaulBerry

TEST6 (Done)

3

med

GL 3.0

Test flat interpolation qualifier.

ChadVersace

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

PaulBerry

HIZ1 (Done)

5

high

perf

Write resolve meta-ops for hiz->depth and depth->hiz

ChadVersace

ChadVersace

HIZ2 (Done)

5

high

perf

Hook resolves into texture & draw functions (no mipmaps yet)

ChadVersace

ChadVersace

HIZ3 (Done)

HIZ2

4

high

perf

Test and debug hiz->depth resolve hooks (single ctx, no mipmaps).

ChadVersace

ChadVersace

HIZ4 (Done)

HIZ2

4

high

perf

Test and debug depth->hiz resolve hooks (single ctx, no mipmaps).

ChadVersace

ChadVersace

HIZ5 (Done)

HIZ3 HIZ4

4

high

perf

Test and debug multi-context resolve hooks.

ChadVersace

ChadVersace

HIZ6 (Done)

5

med

perf

Fast clear

ChadVersace

ChadVersace

HIZ7 (Done)

HIZ3 HIZ4

4

high

perf

Resolve mipmap depth textures.

ChadVersace

ChadVersace

GLSL1 (Done)

1

med

GL 3.0

Generate errors for integer literals that are out of bounds

ChadVersace

EricAnholt

GLSL2 (Done)

3

med

GL 3.0

Add gl_VertexID and related global variables

ChadVersace

IanRomanick

Finished by Ian in 2010

GLSL3 (Done)

2

med

GL 3.0

Add opcodes for isinf and isnan

IanRomanick

PaulBerry

Proved to be unnecessary

GLSL4 (Done)

GLSL3

5

med

GL 3.0

Lower isinf and isnan opcodes to various modes of detection on different hardware

IanRomanick

PaulBerry

Proved to be unnecessary

GLSL5 (Done)

TEST3

3

med

GL 3.0

Add isinf and isnan built-in functions.

IanRomanick

PaulBerry

GLSL6 (Done)

2

med

GL 3.0

Implement proper integer division and modulus support.

KennethGraunke

KennethGraunke

Patches on mailing list

LINK1

2

med

GL 3.0

Generate errors when interpolation qualifiers on gl_Color don't match

ChadVersace

PaulBerry

LINK2

2

low

GL 3.0

Generate errors when precision qualifiers don't match.

ChadVersace

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

PaulBerry

TEX1 (Done)

5

med

GL 3.0

EXT_texture_shared_exponent

ChadVersace

EricAnholt

TEX2 (Done)

1

med

GL 3.0

EXT_packed_float (texturing)

ChadVersace

EricAnholt

TEX2.5 (Done)

4

med

GL 3.0

EXT_packed_float (renderbuffer)

Eric Anholt

TEX3 (Done)

5

low

perf

Real half-float texture support

ChadVersace

TEX4 (Done)

4

med

GL 3.0

Floating-point depth buffer support.

KennethGraunke

EricAnholt

TEX5 (Done)

3

med

GL 3.0

Add 6 EXT_texture_integer entry points

IanRomanick

BrianPaul

TEX6 (Done)

2

med

GL 3.0

Update existing entry points to accept EXT_texture_integer enums

IanRomanick

BrianPaul

TEX7 (Done)

TEX6

5

med

GL 3.0

Update pixel (texel) transfer paths to support integer textures

IanRomanick

BrianPaul

TEX8 (Done)

3

med

GL 3.0

Add GLSL built-in integer sampler types and functions.

IanRomanick

KennethGraunke

Compiler support in place since 2010

TEX9

TEX8

3

med

GL 3.0

965 back-end support for integer samplers.

IanRomanick

EricAnholt

TEX9.1

3

med

GL 3.0

integer: clamping and conversion in readback path.

EricAnholt

TEX9.2

3

med

GL 3.0

integer: BlitFramebuffer

EricAnholt

TEX9.3 (Done)

3

med

GL 3.0

integer: DrawPixels

EricAnholt

EricAnholt

TEX9.4

3

med

GL 3.0

integer: CopyPixels

EricAnholt

TEX10 (Done)

5

med

GL 3.0

Test 3.0 spec section "Required Texture Formats"

EricAnholt

EricAnholt

TEX11 (Done)

5

med

GL 3.0

Test 3.0 spec section "Required Framebuffer Formats"

EricAnholt

EricAnholt

VSTEX (Done)

VS12

10

high

GL 3.0

Implement Vertex Shader Texturing

KennethGraunke

KennethGraunke

Upstream; still need piles more tests.

VS1 (Done)

5

high

perf

i965 vertex shader “first triangle”

EricAnholt

VS2 (Done)

5

high

perf

Register allocator

EricAnholt

VS3 (Done)

5

high

perf

Assignment handling

EricAnholt

VS4 (Done)

5

high

perf

Copy propagation

EricAnholt

EricAnholt

VS5

5

high

perf

Dead code elimination

EricAnholt

VS6 (Done)

5

high

perf

Uniform arrays

EricAnholt

EricAnholt

VS7 (Done)

GLSL2

5

high

perf

Support built-in gl_VertexID in i965 vertex shader back-end

EricAnholt

EricAnholt

VS8 (Done)

5

high

perf

Compute to MRF

EricAnholt

EricAnholt

VS9 (Done)

5

high

perf

Constant propagation

EricAnholt

EricAnholt

VS10

5

med

perf

Instruction scheduling

EricAnholt

VS11 (Done)

5

high

perf

Large URB entries

EricAnholt

VS12 (Done)

5

high

perf

New VS backend on by default

EricAnholt

EricAnholt

PERF1

3

low

perf

IVB conditional rendering support

EricAnholt

PERF2

10

med

perf

Kernel domain tracking lobotomy

EricAnholt

EricAnholt

PERF3

10

high

perf

Non-blocking ARB_map_buffer_range

EricAnholt

BenWidawski

PERF4 (Done)

RBMAP4

3

high

perf

Uncached -> cached map blits

EricAnholt

EricAnholt

PERF5

3

med

perf

Kernel GFDT testing

EricAnholt

PERF6

5

low

perf

Guardband clipping

EricAnholt

PERF7

5

med

perf

GLSL expression CSE

EricAnholt

PERF8

5

med

perf

GLSL texture operation CSE

EricAnholt

PERF9.1

3

low

perf

Hack in the constant color write and analyze performance impact

EricAnholt

PERF9.2

PERF9.1

5

low

perf

Detect glClear constant color writes and emit correct constant color write code

EricAnholt

PERF10.1

5

med

perf

Fragment shader uniform array indexing. Plumb in reladdrs and fix up optimization to know about them.

EricAnholt

PERF10.2

PERF10.1

5

med

perf

Get the send message working for loading uniforms

EricAnholt

PERF11

5

med

perf

Meta-ops winsys -> texture bind hook

EricAnholt

PERF12

PERF11

5

med

perf

glCopyTexImage from winsys

EricAnholt

PERF13

PERF11

5

med

perf

glBlitFramebuffer from winsys

EricAnholt

PERF14 (Done)

3

med

perf

FS assignment handling rework. Port over the lesson from VS assignment handling, revert the old mess.

EricAnholt

KennethGraunke

FFS1 (Done)

5

high

perf

Finish fixed-function fragment shader support

EricAnholt

High priority because the work is mostly done.

FFS2

5

high

perf

Get glxgears running in fixed-function vertex shader conversion

EricAnholt

High priority because the work is mostly done.

FFS3

FFS2

5

high

perf

Make sure fixed-function vertex shader conversion doesn't regress softpipe

EricAnholt

FFS4

FFS2 VS12

5

high

perf

Make sure fixed-function vertex shader conversion doesn't regress i965 VS

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

RBMAP2

RBMAP1

5

low

perf

swrast render-buffer color mapping

EricAnholt

RBMAP3

RBMAP1

5

low

perf

swrast render-buffer depth mapping

EricAnholt

RBMAP4 (Done)

RBMAP1

5

med

perf

swrast glReadPixels mapping

EricAnholt

EricAnholt

RBMAP5

RBMAP1

5

low

perf

swrast glDrawPixels mapping

EricAnholt

RBMAP6

RBMAP1

5

low

perf

swrast stencil mapping

EricAnholt

RBMAP7

3

med

perf

Accumulation buffer tests

EricAnholt

RBMAP8 (Done)

RBMAP1

5

low

perf

swrast accumulation buffer mapping

EricAnholt

BrianPaul

RBMAP9 (Done)

RBMAP1

5

low

perf

swrast clear mapping

EricAnholt

BrianPaul

CUBE1 (Done)

3

med

GL 3.0

Allow glTexImage2D and glCopyTexImage2D with a depth component cube map

IanRomanick

AnujPhogat

CUBE2

CUBE1

5

med

GL 3.0

Enable back-end generation of cube shadow samplers

IanRomanick

AnujPhogat

CUBE3 (Done)

CUBE2

10

med

GL 3.0

Figure out what AMD & NVIDIA do for fixed-function cube shadows and imitate that.

IanRomanick

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

EricAnholt

EricAnholt

CB1 (Done)

3

low

GL 3.0

Verify error code generation for glClearBuffer*

IanRomanick

IanRomanick

CB2 (Done)

3

med

GL 3.0

Verify depth clears with glClearBuffer*

IanRomanick

IanRomanick

CB3 (Done)

3

med

GL 3.0

Verify stencil clears with glClearBuffer*

IanRomanick

IanRomanick

CB4

3

med

GL 3.0

Verify mixed format color buffer clears with glClearBuffer*

IanRomanick

CB5

3

med

GL 3.0

Verify that glClearBuffer* can be compiled into display lists

IanRomanick

CC1

5

med

GL 3.0

Implement GLX protocol for SetClientInfo (client & server)

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

5

med

GL 3.0

Implement GLX protocol for CreateContextAttribs

IanRomanick

IanRomanick

CC3

CC2

3

med

GL 3.0

Implement DRI2 createContext2 interface that sends the attributes to the driver.

IanRomanick

IanRomanick

CC4

CC3

3

med

GL 3.0

Add support for the DRI2 createContext2 interface to the Intel drivers.

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

IanRomanick

Patches in the idr-work branch of my personal git repo.

UNI2 (Done)

UNI1

5

?

GL 3.0

Create map from uniform names to storage (new structure).

KennethGraunke

IanRomanick

UNI3 (Done)

UNI2

10

?

GL 3.0

Store uniform data in new structure.

KennethGraunke

IanRomanick

UNI4 (Done)

UNI3

10

?

GL 3.0

Make ir_to_mesa use the new uniform storage and mapping

KennethGraunke

IanRomanick

UNI5

UNI7

10

?

GL 3.0

Make brw_fs use the new uniform storage and mapping

KennethGraunke

With the other work, this will just be an optimization. It can wait a bit.

UNI6

UNI4

?

?

GL 3.0

Split out any remaining uniform handling & resource allocation from ir_to_mesa

KennethGraunke

IanRomanick

UNI7

UNI6

?

?

GL 3.0

make ir_to_mesa stop generating code for fragment shaders when there is another (hardware) back-end active.

KennethGraunke

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

TXF2 (Done)

4

med

GL 3.0

Write tests for texelFetch

KennethGraunke

DaveAirlie

TXS1 (Done)

3

high

GL 3.0

Merge kwg/txs branch with airlied's patch, and push both.

KennethGraunke

High priority because the work is mostly done.

TXS2 (Done)

3

high

GL 3.0

Write tests for textureSize

KennethGraunke

Could add more tests

TXS3 (Done)

3

med

GL 3.0

Implement TXS on GEN4 via SIMD16 resinfo message

KennethGraunke