Lines Matching refs:raster_builder
94 skc_raster_builder_retain(skc_raster_builder_t raster_builder) in skc_raster_builder_retain() argument
96 raster_builder->refcount += 1; in skc_raster_builder_retain()
106 skc_raster_builder_release(skc_raster_builder_t raster_builder) in skc_raster_builder_release() argument
108 SKC_ASSERT_STATE_ASSERT(SKC_RASTER_BUILDER_STATE_READY,raster_builder); in skc_raster_builder_release()
110 raster_builder->release(raster_builder->impl); in skc_raster_builder_release()
121 skc_raster_builder_path_ids_append(struct skc_raster_builder * const raster_builder, in skc_raster_builder_path_ids_append() argument
125 …SKC_CONTEXT_WAIT_WHILE(raster_builder->context,skc_extent_ring_is_full(&raster_builder->path_ids.r… in skc_raster_builder_path_ids_append()
129 …raster_builder->path_ids.extent[skc_extent_ring_wip_index_inc(&raster_builder->path_ids.ring)] = p… in skc_raster_builder_path_ids_append()
131 return skc_extent_ring_wip_is_full(&raster_builder->path_ids.ring); in skc_raster_builder_path_ids_append()
136 skc_raster_builder_transforms_append(struct skc_raster_builder * const raster_builder, in skc_raster_builder_transforms_append() argument
144 …SKC_CONTEXT_WAIT_WHILE(raster_builder->context,skc_extent_ring_is_full(&raster_builder->transforms… in skc_raster_builder_transforms_append()
146 cmd->transform = skc_extent_ring_wip_count(&raster_builder->transforms.ring); in skc_raster_builder_transforms_append()
148 skc_uint const base = skc_extent_ring_wip_index_inc(&raster_builder->transforms.ring); in skc_raster_builder_transforms_append()
150 memcpy(raster_builder->transforms.extent[base].f32a8,transform,sizeof(skc_float8)); in skc_raster_builder_transforms_append()
152 return skc_extent_ring_wip_is_full(&raster_builder->transforms.ring); in skc_raster_builder_transforms_append()
157 skc_raster_builder_clips_append(struct skc_raster_builder * const raster_builder, in skc_raster_builder_clips_append() argument
165 …SKC_CONTEXT_WAIT_WHILE(raster_builder->context,skc_extent_ring_is_full(&raster_builder->clips.ring… in skc_raster_builder_clips_append()
167 cmd->clip = skc_extent_ring_wip_count(&raster_builder->clips.ring); in skc_raster_builder_clips_append()
169 skc_uint const base = skc_extent_ring_wip_index_inc(&raster_builder->clips.ring); in skc_raster_builder_clips_append()
171 memcpy(raster_builder->clips.extent[base].f32a4,raster_clip,sizeof(skc_float4)); in skc_raster_builder_clips_append()
173 return skc_extent_ring_wip_is_full(&raster_builder->clips.ring); in skc_raster_builder_clips_append()
178 skc_raster_builder_cmds_append(struct skc_raster_builder * const raster_builder, in skc_raster_builder_cmds_append() argument
181 …SKC_CONTEXT_WAIT_WHILE(raster_builder->context,skc_extent_ring_is_full(&raster_builder->fill_cmds.… in skc_raster_builder_cmds_append()
183 cmd->cohort = skc_extent_ring_wip_count(&raster_builder->raster_ids.ring); in skc_raster_builder_cmds_append()
185 skc_uint const base = skc_extent_ring_wip_index_inc(&raster_builder->fill_cmds.ring); in skc_raster_builder_cmds_append()
187 raster_builder->fill_cmds.extent[base] = *cmd; in skc_raster_builder_cmds_append()
197 return skc_extent_ring_wip_is_full(&raster_builder->fill_cmds.ring); in skc_raster_builder_cmds_append()
206 skc_raster_builder_raster_ids_append(struct skc_raster_builder * const raster_builder, in skc_raster_builder_raster_ids_append() argument
209 …SKC_CONTEXT_WAIT_WHILE(raster_builder->context,skc_extent_ring_is_full(&raster_builder->raster_ids… in skc_raster_builder_raster_ids_append()
211 …raster_builder->raster_ids.extent[skc_extent_ring_wip_index_inc(&raster_builder->raster_ids.ring)]… in skc_raster_builder_raster_ids_append()
213 return skc_extent_ring_wip_is_full(&raster_builder->raster_ids.ring); in skc_raster_builder_raster_ids_append()
222 skc_raster_builder_checkpoint(struct skc_raster_builder * const raster_builder) in skc_raster_builder_checkpoint() argument
224 skc_extent_ring_checkpoint(&raster_builder->path_ids .ring); in skc_raster_builder_checkpoint()
225 skc_extent_ring_checkpoint(&raster_builder->transforms.ring); in skc_raster_builder_checkpoint()
226 skc_extent_ring_checkpoint(&raster_builder->clips .ring); in skc_raster_builder_checkpoint()
227 skc_extent_ring_checkpoint(&raster_builder->fill_cmds .ring); in skc_raster_builder_checkpoint()
228 skc_extent_ring_checkpoint(&raster_builder->raster_ids.ring); in skc_raster_builder_checkpoint()
236 skc_raster_begin(skc_raster_builder_t raster_builder) in skc_raster_begin() argument
240 raster_builder); in skc_raster_begin()
246 skc_raster_end(skc_raster_builder_t raster_builder, skc_raster_t * raster) in skc_raster_end() argument
250 raster_builder); in skc_raster_end()
252 raster_builder->end(raster_builder->impl,raster); in skc_raster_end()
255 skc_bool const snap = skc_raster_builder_raster_ids_append(raster_builder,*raster); in skc_raster_end()
258 skc_raster_builder_checkpoint(raster_builder); in skc_raster_end()
262 raster_builder->force(raster_builder->impl); in skc_raster_end()
275 skc_raster_add_filled(skc_raster_builder_t raster_builder, in skc_raster_add_filled() argument
282 SKC_ASSERT_STATE_ASSERT(SKC_RASTER_BUILDER_STATE_BUILDING,raster_builder); in skc_raster_add_filled()
287 skc_err err = raster_builder->add(raster_builder->impl,&path,1); in skc_raster_add_filled()
301 skc_bool snap = skc_raster_builder_path_ids_append(raster_builder,&cmd,path); in skc_raster_add_filled()
304 …snap = skc_raster_builder_transforms_append(raster_builder,&cmd,transform_weakref,transform) || sn… in skc_raster_add_filled()
307 …snap = skc_raster_builder_clips_append(raster_builder,&cmd,raster_clip_weakref,raster_clip) || sna… in skc_raster_add_filled()
310 snap = skc_raster_builder_cmds_append(raster_builder,&cmd) || snap; in skc_raster_add_filled()
314 raster_builder->start(raster_builder->impl); in skc_raster_add_filled()