Go to the documentation of this file.
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 class manages a staged pipeline of data, for instance the render pipeline, so that each stage of...
TypeHandle is the identifier used to differentiate C++ class types.
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.
A thread; that is, a lightweight process.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.