1ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul/**************************************************************************
2ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul *
3ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * Copyright 2009 VMware, Inc.
4ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * All Rights Reserved.
5ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul *
6ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * Permission is hereby granted, free of charge, to any person obtaining a
7ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * copy of this software and associated documentation files (the
8ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * "Software"), to deal in the Software without restriction, including
9ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * without limitation the rights to use, copy, modify, merge, publish,
10ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * distribute, sub license, and/or sell copies of the Software, and to
11ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * permit persons to whom the Software is furnished to do so, subject to
12ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * the following conditions:
13ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul *
14ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * The above copyright notice and this permission notice (including the
15ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * next paragraph) shall be included in all copies or substantial portions
16ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * of the Software.
17ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul *
18ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
22ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul *
26ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul **************************************************************************/
27ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
28ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
29663750d5564a225b4720f7ee8bea93ffb309fc88Keith Whitwell#ifndef LP_SCENE_QUEUE
30663750d5564a225b4720f7ee8bea93ffb309fc88Keith Whitwell#define LP_SCENE_QUEUE
31ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
3290b7a4cc1a9ec6560fba337fb86be2a574498acbVinson Lee#include "pipe/p_compiler.h"
3390b7a4cc1a9ec6560fba337fb86be2a574498acbVinson Lee
34663750d5564a225b4720f7ee8bea93ffb309fc88Keith Whitwellstruct lp_scene_queue;
35663750d5564a225b4720f7ee8bea93ffb309fc88Keith Whitwellstruct lp_scene;
36ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
37ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
38663750d5564a225b4720f7ee8bea93ffb309fc88Keith Whitwellstruct lp_scene_queue *
39663750d5564a225b4720f7ee8bea93ffb309fc88Keith Whitwelllp_scene_queue_create(void);
40ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
41ea35993e7479793212529b1db081c84aa71ea4ccBrian Paulvoid
42663750d5564a225b4720f7ee8bea93ffb309fc88Keith Whitwelllp_scene_queue_destroy(struct lp_scene_queue *queue);
43ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
44663750d5564a225b4720f7ee8bea93ffb309fc88Keith Whitwellstruct lp_scene *
45591401ff05f878ff1607a1a34db1319103025d8fKeith Whitwelllp_scene_dequeue(struct lp_scene_queue *queue, boolean wait);
46ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
47ea35993e7479793212529b1db081c84aa71ea4ccBrian Paulvoid
48591401ff05f878ff1607a1a34db1319103025d8fKeith Whitwelllp_scene_enqueue(struct lp_scene_queue *queue, struct lp_scene *scene);
49ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
50ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
51ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
52ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul
53ea35993e7479793212529b1db081c84aa71ea4ccBrian Paul#endif /* LP_BIN_QUEUE */
54