diff options
-rw-r--r-- | libxcb/src/c_client.py | 2 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/sync.xml | 35 | ||||
-rw-r--r-- | mesalib/src/mesa/main/dlist.c | 6 | ||||
-rw-r--r-- | mesalib/src/mesa/program/programopt.c | 6 |
4 files changed, 44 insertions, 5 deletions
diff --git a/libxcb/src/c_client.py b/libxcb/src/c_client.py index 3e77e9ef2..ef245c561 100644 --- a/libxcb/src/c_client.py +++ b/libxcb/src/c_client.py @@ -2290,7 +2290,7 @@ except getopt.GetoptError as err: for (opt, arg) in opts: if opt == '-p': - sys.path.append(arg) + sys.path.insert(1, arg) # Import the module class try: diff --git a/libxcb/xcb-proto/src/sync.xml b/libxcb/xcb-proto/src/sync.xml index e30923325..516d149ab 100644 --- a/libxcb/xcb-proto/src/sync.xml +++ b/libxcb/xcb-proto/src/sync.xml @@ -5,7 +5,7 @@ All Rights Reserved. See the file COPYING in this directory for licensing information. --> <xcb header="sync" extension-xname="SYNC" extension-name="Sync" - major-version="3" minor-version="0"> + major-version="3" minor-version="1"> <import>xproto</import> <xidtype name="ALARM" /> @@ -18,6 +18,8 @@ for licensing information. <xidtype name="COUNTER" /> + <xidtype name="FENCE" /> + <enum name="TESTTYPE"> <item name="PositiveTransition" /> <item name="NegativeTransition" /> @@ -173,6 +175,37 @@ for licensing information. </reply> </request> + <request name="CreateFence" opcode="14"> + <field type="DRAWABLE" name="drawable" /> + <field type="FENCE" name="fence" /> + <field type="BOOL" name="initially_triggered" /> + </request> + + <request name="TriggerFence" opcode="15"> + <field type="FENCE" name="fence" /> + </request> + + <request name="ResetFence" opcode="16"> + <field type="FENCE" name="fence" /> + </request> + + <request name="DestroyFence" opcode="17"> + <field type="FENCE" name="fence" /> + </request> + + <request name="QueryFence" opcode="18"> + <field type="FENCE" name="fence" /> + <reply> + <pad bytes="1" /> + <field type="BOOL" name="triggered" /> + <pad bytes="23" /> + </reply> + </request> + + <request name="AwaitFence" opcode="19"> + <list type="FENCE" name="fence_list" /> + </request> + <event name="CounterNotify" number="0"> <field type="CARD8" name="kind" /> <field type="COUNTER" name="counter" /> diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c index 63653df45..930236c01 100644 --- a/mesalib/src/mesa/main/dlist.c +++ b/mesalib/src/mesa/main/dlist.c @@ -9784,9 +9784,9 @@ _mesa_create_save_table(void) SET_DeleteProgramsNV(table, _mesa_DeletePrograms); SET_GenProgramsNV(table, _mesa_GenPrograms); SET_IsProgramNV(table, _mesa_IsProgramARB); - SET_GetVertexAttribdvNV(table, _mesa_GetVertexAttribdvNV); - SET_GetVertexAttribfvNV(table, _mesa_GetVertexAttribfvNV); - SET_GetVertexAttribivNV(table, _mesa_GetVertexAttribivNV); + SET_GetVertexAttribdvARB(table, _mesa_GetVertexAttribdvARB); + SET_GetVertexAttribfvARB(table, _mesa_GetVertexAttribfvARB); + SET_GetVertexAttribivARB(table, _mesa_GetVertexAttribivARB); SET_GetVertexAttribPointervNV(table, _mesa_GetVertexAttribPointervNV); SET_ProgramEnvParameter4dARB(table, save_ProgramEnvParameter4dARB); SET_ProgramEnvParameter4dvARB(table, save_ProgramEnvParameter4dvARB); diff --git a/mesalib/src/mesa/program/programopt.c b/mesalib/src/mesa/program/programopt.c index a239da2c6..c72dfb23b 100644 --- a/mesalib/src/mesa/program/programopt.c +++ b/mesalib/src/mesa/program/programopt.c @@ -267,6 +267,11 @@ _mesa_append_fog_code(struct gl_context *ctx, return; } + if (!(fprog->Base.OutputsWritten & (1 << FRAG_RESULT_COLOR))) { + /* program doesn't output color, so nothing to do */ + return; + } + /* Alloc storage for new instructions */ newInst = _mesa_alloc_instructions(newLen); if (!newInst) { @@ -407,6 +412,7 @@ _mesa_append_fog_code(struct gl_context *ctx, fprog->Base.Instructions = newInst; fprog->Base.NumInstructions = inst - newInst; fprog->Base.InputsRead |= FRAG_BIT_FOGC; + assert(fprog->Base.OutputsWritten & (1 << FRAG_RESULT_COLOR)); } |