aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtney@LunarG.com>2015-03-24 18:02:34 -0600
committerChia-I Wu <olv@lunarg.com>2015-04-16 17:33:25 +0800
commitd695c82c8c2511ee6915bd2d144492d8f5bbef5b (patch)
tree98f638507b4e125356112de29327baf04248e4e2
parent4191678fc003b408bb248b1c8ace9485d37c8031 (diff)
downloadusermoji-d695c82c8c2511ee6915bd2d144492d8f5bbef5b.tar.xz
xgl: Add XGL_PIPE_EVENT to CmdResetEvent
part 3 of bug #12904 alpha header: r29684 (0.59.0) (3) Where does xglCmdResetEvent update the event's status? Unlike xglCmdSetEvent this function doesn't take a parameter specifying this. - Added pipeEvent parameter also to xglCmdResetEvent. Also renamed XGL_SET_EVENT to XGL_PIPE_EVENT as now it's no longer used only for set operations.
-rw-r--r--demos/cube.c2
-rw-r--r--demos/tri.c2
-rw-r--r--icd/nulldrv/nulldrv.c5
-rw-r--r--include/xgl.h39
-rw-r--r--layers/draw_state.c6
-rw-r--r--layers/draw_state.cpp6
-rw-r--r--layers/glave_snapshot.c6
-rw-r--r--xgl.py5
8 files changed, 37 insertions, 34 deletions
diff --git a/demos/cube.c b/demos/cube.c
index 426b712b..84728d0b 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -943,7 +943,7 @@ static void demo_prepare_textures(struct demo *demo)
};
XGL_IMAGE_MEMORY_BARRIER *pmemory_barrier = &image_memory_barrier;
- XGL_SET_EVENT set_events[] = { XGL_SET_EVENT_GPU_COMMANDS_COMPLETE };
+ XGL_PIPE_EVENT set_events[] = { XGL_PIPE_EVENT_GPU_COMMANDS_COMPLETE };
XGL_PIPELINE_BARRIER pipeline_barrier;
pipeline_barrier.sType = XGL_STRUCTURE_TYPE_PIPELINE_BARRIER;
pipeline_barrier.pNext = NULL;
diff --git a/demos/tri.c b/demos/tri.c
index 43824b68..086de98e 100644
--- a/demos/tri.c
+++ b/demos/tri.c
@@ -589,7 +589,7 @@ static void demo_prepare_textures(struct demo *demo)
};
XGL_IMAGE_MEMORY_BARRIER *pmemory_barrier = &image_memory_barrier;
- XGL_SET_EVENT set_events[] = { XGL_SET_EVENT_GPU_COMMANDS_COMPLETE };
+ XGL_PIPE_EVENT set_events[] = { XGL_PIPE_EVENT_GPU_COMMANDS_COMPLETE };
XGL_PIPELINE_BARRIER pipeline_barrier;
pipeline_barrier.sType = XGL_STRUCTURE_TYPE_PIPELINE_BARRIER;
pipeline_barrier.pNext = NULL;
diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c
index 6c4894fc..47fa21e8 100644
--- a/icd/nulldrv/nulldrv.c
+++ b/icd/nulldrv/nulldrv.c
@@ -1037,14 +1037,15 @@ ICD_EXPORT void XGLAPI xglCmdResetQueryPool(
ICD_EXPORT void XGLAPI xglCmdSetEvent(
XGL_CMD_BUFFER cmdBuffer,
XGL_EVENT event_,
- XGL_SET_EVENT pipeEvent)
+ XGL_PIPE_EVENT pipeEvent)
{
NULLDRV_LOG_FUNC;
}
ICD_EXPORT void XGLAPI xglCmdResetEvent(
XGL_CMD_BUFFER cmdBuffer,
- XGL_EVENT event_)
+ XGL_EVENT event_,
+ XGL_PIPE_EVENT pipeEvent)
{
NULLDRV_LOG_FUNC;
}
diff --git a/include/xgl.h b/include/xgl.h
index 9b36938d..14d7d0bb 100644
--- a/include/xgl.h
+++ b/include/xgl.h
@@ -33,7 +33,7 @@
#include "xglPlatform.h"
// XGL API version supported by this file
-#define XGL_API_VERSION XGL_MAKE_VERSION(0, 58, 0)
+#define XGL_API_VERSION XGL_MAKE_VERSION(0, 59, 1)
#ifdef __cplusplus
extern "C"
@@ -140,21 +140,21 @@ typedef enum _XGL_IMAGE_LAYOUT
XGL_MAX_ENUM(_XGL_IMAGE_LAYOUT)
} XGL_IMAGE_LAYOUT;
-typedef enum _XGL_SET_EVENT
+typedef enum _XGL_PIPE_EVENT
{
- XGL_SET_EVENT_TOP_OF_PIPE = 0x00000001, // Set event before the GPU starts processing subsequent command
- XGL_SET_EVENT_VERTEX_PROCESSING_COMPLETE = 0x00000002, // Set event when all pending vertex processing is complete
- XGL_SET_EVENT_FRAGMENT_PROCESSING_COMPLETE = 0x00000003, // Set event when all pending fragment shader executions are complete
- XGL_SET_EVENT_GRAPHICS_PIPELINE_COMPLETE = 0x00000004, // Set event when all pending graphics operations are complete
- XGL_SET_EVENT_COMPUTE_PIPELINE_COMPLETE = 0x00000005, // Set event when all pending compute operations are complete
- XGL_SET_EVENT_TRANSFER_COMPLETE = 0x00000006, // Set event when all pending transfer operations are complete
- XGL_SET_EVENT_GPU_COMMANDS_COMPLETE = 0x00000007, // Set event when all pending GPU work is complete
+ XGL_PIPE_EVENT_TOP_OF_PIPE = 0x00000001, // Set event before the GPU starts processing subsequent command
+ XGL_PIPE_EVENT_VERTEX_PROCESSING_COMPLETE = 0x00000002, // Set event when all pending vertex processing is complete
+ XGL_PIPE_EVENT_FRAGMENT_PROCESSING_COMPLETE = 0x00000003, // Set event when all pending fragment shader executions are complete
+ XGL_PIPE_EVENT_GRAPHICS_PIPELINE_COMPLETE = 0x00000004, // Set event when all pending graphics operations are complete
+ XGL_PIPE_EVENT_COMPUTE_PIPELINE_COMPLETE = 0x00000005, // Set event when all pending compute operations are complete
+ XGL_PIPE_EVENT_TRANSFER_COMPLETE = 0x00000006, // Set event when all pending transfer operations are complete
+ XGL_PIPE_EVENT_GPU_COMMANDS_COMPLETE = 0x00000007, // Set event when all pending GPU work is complete
- XGL_SET_EVENT_BEGIN_RANGE = XGL_SET_EVENT_TOP_OF_PIPE,
- XGL_SET_EVENT_END_RANGE = XGL_SET_EVENT_GPU_COMMANDS_COMPLETE,
- XGL_NUM_SET_EVENT = (XGL_SET_EVENT_END_RANGE - XGL_SET_EVENT_BEGIN_RANGE + 1),
- XGL_MAX_ENUM(_XGL_SET_EVENT)
-} XGL_SET_EVENT;
+ XGL_PIPE_EVENT_BEGIN_RANGE = XGL_PIPE_EVENT_TOP_OF_PIPE,
+ XGL_PIPE_EVENT_END_RANGE = XGL_PIPE_EVENT_GPU_COMMANDS_COMPLETE,
+ XGL_NUM_PIPE_EVENT = (XGL_PIPE_EVENT_END_RANGE - XGL_PIPE_EVENT_BEGIN_RANGE + 1),
+ XGL_MAX_ENUM(_XGL_PIPE_EVENT)
+} XGL_PIPE_EVENT;
typedef enum _XGL_WAIT_EVENT
{
@@ -1633,7 +1633,7 @@ typedef struct _XGL_PIPELINE_BARRIER
const void* pNext; // Pointer to next structure.
uint32_t eventCount; // Number of events to wait on
- const XGL_SET_EVENT* pEvents; // Array of pipeline events to wait on
+ const XGL_PIPE_EVENT* pEvents; // Array of pipeline events to wait on
XGL_WAIT_EVENT waitEvent; // Pipeline event where the wait should happen
@@ -2342,8 +2342,8 @@ typedef void (XGLAPI *xglCmdFillBufferType)(XGL_CMD_BUFFER cmdBuffer, XGL_
typedef void (XGLAPI *xglCmdClearColorImageType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, XGL_CLEAR_COLOR color, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges);
typedef void (XGLAPI *xglCmdClearDepthStencilType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, float depth, uint32_t stencil, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges);
typedef void (XGLAPI *xglCmdResolveImageType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE srcImage, XGL_IMAGE destImage, uint32_t rectCount, const XGL_IMAGE_RESOLVE* pRects);
-typedef void (XGLAPI *xglCmdSetEventType)(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_SET_EVENT pipeEvent);
-typedef void (XGLAPI *xglCmdResetEventType)(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event);
+typedef void (XGLAPI *xglCmdSetEventType)(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_PIPE_EVENT pipeEvent);
+typedef void (XGLAPI *xglCmdResetEventType)(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_PIPE_EVENT pipeEvent);
typedef void (XGLAPI *xglCmdWaitEventsType)(XGL_CMD_BUFFER cmdBuffer, const XGL_EVENT_WAIT_INFO* pWaitInfo);
typedef void (XGLAPI *xglCmdPipelineBarrierType)(XGL_CMD_BUFFER cmdBuffer, const XGL_PIPELINE_BARRIER* pBarrier);
typedef void (XGLAPI *xglCmdBeginQueryType)(XGL_CMD_BUFFER cmdBuffer, XGL_QUERY_POOL queryPool, uint32_t slot, XGL_FLAGS flags);
@@ -2936,11 +2936,12 @@ void XGLAPI xglCmdResolveImage(
void XGLAPI xglCmdSetEvent(
XGL_CMD_BUFFER cmdBuffer,
XGL_EVENT event,
- XGL_SET_EVENT pipeEvent);
+ XGL_PIPE_EVENT pipeEvent);
void XGLAPI xglCmdResetEvent(
XGL_CMD_BUFFER cmdBuffer,
- XGL_EVENT event);
+ XGL_EVENT event,
+ XGL_PIPE_EVENT pipeEvent);
void XGLAPI xglCmdWaitEvents(
XGL_CMD_BUFFER cmdBuffer,
diff --git a/layers/draw_state.c b/layers/draw_state.c
index c655b572..43080dcc 100644
--- a/layers/draw_state.c
+++ b/layers/draw_state.c
@@ -2477,7 +2477,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdResolveImage(XGL_CMD_BUFFER cmdBuffer, XGL_IM
nextTable.CmdResolveImage(cmdBuffer, srcImage, destImage, rectCount, pRects);
}
-XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_SET_EVENT pipeEvent)
+XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_PIPE_EVENT pipeEvent)
{
GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer);
if (pCB) {
@@ -2492,7 +2492,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT
nextTable.CmdSetEvent(cmdBuffer, event, pipeEvent);
}
-XGL_LAYER_EXPORT void XGLAPI xglCmdResetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event)
+XGL_LAYER_EXPORT void XGLAPI xglCmdResetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_PIPE_EVENT pipeEvent)
{
GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer);
if (pCB) {
@@ -2504,7 +2504,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdResetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVEN
sprintf(str, "Attempt to use CmdBuffer %p that doesn't exist!", (void*)cmdBuffer);
layerCbMsg(XGL_DBG_MSG_ERROR, XGL_VALIDATION_LEVEL_0, cmdBuffer, 0, DRAWSTATE_INVALID_CMD_BUFFER, "DS", str);
}
- nextTable.CmdResetEvent(cmdBuffer, event);
+ nextTable.CmdResetEvent(cmdBuffer, event, pipeEvent);
}
XGL_LAYER_EXPORT void XGLAPI xglCmdWaitEvents(XGL_CMD_BUFFER cmdBuffer, const XGL_EVENT_WAIT_INFO* pWaitInfo)
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index c37930cf..73d620db 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -2319,7 +2319,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdResolveImage(XGL_CMD_BUFFER cmdBuffer, XGL_IM
nextTable.CmdResolveImage(cmdBuffer, srcImage, destImage, rectCount, pRects);
}
-XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_SET_EVENT pipeEvent)
+XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_PIPE_EVENT pipeEvent)
{
GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer);
if (pCB) {
@@ -2334,7 +2334,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT
nextTable.CmdSetEvent(cmdBuffer, event, pipeEvent);
}
-XGL_LAYER_EXPORT void XGLAPI xglCmdResetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event)
+XGL_LAYER_EXPORT void XGLAPI xglCmdResetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_PIPE_EVENT pipeEvent)
{
GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer);
if (pCB) {
@@ -2346,7 +2346,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdResetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVEN
sprintf(str, "Attempt to use CmdBuffer %p that doesn't exist!", (void*)cmdBuffer);
layerCbMsg(XGL_DBG_MSG_ERROR, XGL_VALIDATION_LEVEL_0, cmdBuffer, 0, DRAWSTATE_INVALID_CMD_BUFFER, "DS", str);
}
- nextTable.CmdResetEvent(cmdBuffer, event);
+ nextTable.CmdResetEvent(cmdBuffer, event, pipeEvent);
}
XGL_LAYER_EXPORT void XGLAPI xglCmdWaitEvents(XGL_CMD_BUFFER cmdBuffer, const XGL_EVENT_WAIT_INFO* pWaitInfo)
diff --git a/layers/glave_snapshot.c b/layers/glave_snapshot.c
index e4a3b7e8..76bbca08 100644
--- a/layers/glave_snapshot.c
+++ b/layers/glave_snapshot.c
@@ -1522,7 +1522,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdResolveImage(XGL_CMD_BUFFER cmdBuffer, XGL_IM
nextTable.CmdResolveImage(cmdBuffer, srcImage, destImage, rectCount, pRects);
}
-XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_SET_EVENT pipeEvent)
+XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_PIPE_EVENT pipeEvent)
{
loader_platform_thread_lock_mutex(&objLock);
ll_increment_use_count((void*)cmdBuffer, XGL_OBJECT_TYPE_CMD_BUFFER);
@@ -1530,12 +1530,12 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdSetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT
nextTable.CmdSetEvent(cmdBuffer, event, pipeEvent);
}
-XGL_LAYER_EXPORT void XGLAPI xglCmdResetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event)
+XGL_LAYER_EXPORT void XGLAPI xglCmdResetEvent(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_PIPE_EVENT pipeEvent)
{
loader_platform_thread_lock_mutex(&objLock);
ll_increment_use_count((void*)cmdBuffer, XGL_OBJECT_TYPE_CMD_BUFFER);
loader_platform_thread_unlock_mutex(&objLock);
- nextTable.CmdResetEvent(cmdBuffer, event);
+ nextTable.CmdResetEvent(cmdBuffer, event, pipeEvent);
}
XGL_LAYER_EXPORT void XGLAPI xglCmdWaitEvents(XGL_CMD_BUFFER cmdBuffer, const XGL_EVENT_WAIT_INFO* pWaitInfo)
diff --git a/xgl.py b/xgl.py
index ef3e8c7f..da56c207 100644
--- a/xgl.py
+++ b/xgl.py
@@ -745,11 +745,12 @@ core = Extension(
Proto("void", "CmdSetEvent",
[Param("XGL_CMD_BUFFER", "cmdBuffer"),
Param("XGL_EVENT", "event"),
- Param("XGL_SET_EVENT", "pipeEvent")]),
+ Param("XGL_PIPE_EVENT", "pipeEvent")]),
Proto("void", "CmdResetEvent",
[Param("XGL_CMD_BUFFER", "cmdBuffer"),
- Param("XGL_EVENT", "event")]),
+ Param("XGL_EVENT", "event"),
+ Param("XGL_PIPE_EVENT", "pipeEvent")]),
Proto("void", "CmdWaitEvents",
[Param("XGL_CMD_BUFFER", "cmdBuffer"),