14 #ifndef PIPELINECYCLERTRIVIALIMPL_H 15 #define PIPELINECYCLERTRIVIALIMPL_H 49 INLINE
void acquire(
Thread *current_thread =
nullptr);
50 INLINE
void release();
54 INLINE
void increment_read(
const CycleData *pointer)
const;
55 INLINE
void release_read(
const CycleData *pointer)
const;
58 INLINE
CycleData *write_upstream(
bool force_to_0,
Thread *current_thread);
62 INLINE
void increment_write(
CycleData *pointer)
const;
63 INLINE
void release_write(
CycleData *pointer);
65 INLINE
int get_num_stages();
66 INLINE
const CycleData *read_stage_unlocked(
int pipeline_stage)
const;
67 INLINE
const CycleData *read_stage(
int pipeline_stage,
Thread *current_thread)
const;
68 INLINE
void release_read_stage(
int pipeline_stage,
const CycleData *pointer)
const;
69 INLINE
CycleData *write_stage(
int pipeline_stage,
Thread *current_thread);
70 INLINE
CycleData *write_stage_upstream(
int pipeline_stage,
bool force_to_0,
74 INLINE
CycleData *elevate_read_stage_upstream(
int pipeline_stage,
const CycleData *pointer,
75 bool force_to_0,
Thread *current_thread);
76 INLINE
void release_write_stage(
int pipeline_stage,
CycleData *pointer);
81 INLINE
int get_read_count()
const;
82 INLINE
int get_write_count()
const;
87 #ifndef SIMPLE_STRUCT_POINTERS 89 #endif // SIMPLE_STRUCT_POINTERS 94 #endif // !DO_PIPELINING A single page of data maintained by a PipelineCycler.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the trivial, non-threaded implementation of PipelineCyclerBase.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This class manages a staged pipeline of data, for instance the render pipeline, so that each stage of...
A thread; that is, a lightweight process.
TypeHandle is the identifier used to differentiate C++ class types.