Lines Matching refs:self

92     def __json__(self):
97 for name, value in self.__dict__.items():
102 def __repr__(self):
103 return repr(self.__json__())
109 def __init__(self, interpreter):
110 self.interpreter = interpreter
111 self.result = None
113 def visit(self, node):
114 self.result = None
115 node.visit(self)
116 return self.result
118 def visit_literal(self, node):
119 self.result = node.value
121 def visit_blob(self, node):
122 self.result = node
124 def visit_named_constant(self, node):
125 self.result = node.name
127 def visit_array(self, node):
130 array.append(self.visit(element))
131 self.result = array
133 def visit_struct(self, node):
137 member_value = self.visit(member_node)
139 self.result = struct
141 def visit_pointer(self, node):
142 self.result = self.interpreter.lookup_object(node.address)
148 def __init__(self, interpreter):
149 self.interpreter = interpreter
159 def pipe_screen_create(self):
160 return Screen(self.interpreter)
162 def pipe_context_create(self, screen):
169 def __init__(self, resource, usage, subresource, box):
170 self.resource = resource
171 self.usage = usage
172 self.subresource = subresource
173 self.box = box
179 def __init__(self, interpreter):
180 Dispatcher.__init__(self, interpreter)
182 def destroy(self):
185 def context_create(self, priv=None, flags=0):
186 return Context(self.interpreter)
188 def resource_create(self, templat):
217 def resource_destroy(self, resource):
218 self.interpreter.unregister_object(resource)
220 def fence_finish(self, fence, timeout=None, ctx=None):
223 def fence_signalled(self, fence):
226 def fence_reference(self, dst, src):
229 def flush_frontbuffer(self, resource):
238 def __init__(self, interpreter):
239 Dispatcher.__init__(self, interpreter)
242 self._state = Struct()
243 self._state.scissors = []
244 self._state.viewports = []
245 self._state.vertex_buffers = []
246 self._state.vertex_elements = []
247 self._state.vs = Struct()
248 self._state.tcs = Struct()
249 self._state.tes = Struct()
250 self._state.gs = Struct()
251 self._state.fs = Struct()
252 self._state.vs.shader = None
253 self._state.tcs.shader = None
254 self._state.tes.shader = None
255 self._state.gs.shader = None
256 self._state.fs.shader = None
257 self._state.vs.sampler = []
258 self._state.tcs.sampler = []
259 self._state.tes.sampler = []
260 self._state.gs.sampler = []
261 self._state.fs.sampler = []
262 self._state.vs.sampler_views = []
263 self._state.tcs.sampler_views = []
264 self._state.tes.sampler_views = []
265 self._state.gs.sampler_views = []
266 self._state.fs.sampler_views = []
267 self._state.vs.constant_buffer = []
268 self._state.tcs.constant_buffer = []
269 self._state.tes.constant_buffer = []
270 self._state.gs.constant_buffer = []
271 self._state.fs.constant_buffer = []
272 self._state.render_condition_condition = 0
273 self._state.render_condition_mode = 0
274 self._state.sample_mask = 0xffffffff
276 self._draw_no = 0
278 def destroy(self):
281 def create_blend_state(self, state):
294 def bind_blend_state(self, state):
296 self._state.blend = state
298 def delete_blend_state(self, state):
301 def create_sampler_state(self, state):
304 def delete_sampler_state(self, state):
307 def bind_sampler_states(self, shader, start, num_states, states):
310 self._get_stage_state(shader).sampler = states
312 def bind_vertex_sampler_states(self, num_states, states):
314 self._state.vs.sampler = states
316 def bind_geometry_sampler_states(self, num_states, states):
318 self._state.gs.sampler = states
320 def bind_fragment_sampler_states(self, num_states, states):
322 self._state.fs.sampler = states
324 def create_rasterizer_state(self, state):
327 def bind_rasterizer_state(self, state):
328 self._state.rasterizer = state
330 def delete_rasterizer_state(self, state):
333 def create_depth_stencil_alpha_state(self, state):
343 def bind_depth_stencil_alpha_state(self, state):
344 self._state.depth_stencil_alpha = state
346 def delete_depth_stencil_alpha_state(self, state):
351 def _create_shader_state(self, state):
354 state.tokens = self._tokenLabelRE.sub('', state.tokens)
363 def bind_vs_state(self, state):
364 self._state.vs.shader = state
366 def bind_tcs_state(self, state):
367 self._state.tcs.shader = state
369 def bind_tes_state(self, state):
370 self._state.tes.shader = state
372 def bind_gs_state(self, state):
373 self._state.gs.shader = state
375 def bind_fs_state(self, state):
376 self._state.fs.shader = state
378 def bind_tcz_state(self, state):
379 self._state.tcs.shader = state
381 def _delete_shader_state(self, state):
390 def set_blend_color(self, state):
391 self._state.blend_color = state
393 def set_stencil_ref(self, state):
394 self._state.stencil_ref = state
396 def set_clip_state(self, state):
397 self._state.clip = state
399 def _dump_constant_buffer(self, buffer):
400 if not self.interpreter.verbosity(2):
403 data = self.real.buffer_read(buffer)
412 def _get_stage_state(self, shader):
414 return self._state.vs
416 return self._state.tcs
418 return self._state.tes
420 return self._state.gs
422 return self._state.fs
425 def set_constant_buffer(self, shader, index, take_ownership, constant_buffer):
426 self._update(self._get_stage_state(shader).constant_buffer, index, 1, [constant_buffer])
428 def set_framebuffer_state(self, state):
429 self._state.fb = state
431 def set_polygon_stipple(self, state):
432 self._state.polygon_stipple = state
434 def _update(self, array, start_slot, num_slots, states):
444 def set_scissor_states(self, start_slot, num_scissors, states):
445 self._update(self._state.scissors, start_slot, num_scissors, states)
447 def set_viewport_states(self, start_slot, num_viewports, states):
448 self._update(self._state.viewports, start_slot, num_viewports, states)
450 def create_sampler_view(self, resource, templ):
454 def sampler_view_destroy(self, view):
457 def set_sampler_views(self, shader, start, num, unbind_num_trailing_slots, take_ownership, views):
460 self._get_stage_state(shader).sampler_views = views
462 def set_fragment_sampler_views(self, num, views):
464 self._state.fs.sampler_views = views
466 def set_geometry_sampler_views(self, num, views):
468 self._state.gs.sampler_views = views
470 def set_vertex_sampler_views(self, num, views):
472 self._state.vs.sampler_views = views
474 def set_vertex_buffers(self, start_slot, num_buffers, unbind_num_trailing_slots, take_ownership, buffers):
475 self._update(self._state.vertex_buffers, start_slot, num_buffers, buffers)
477 def create_vertex_elements_state(self, num_elements, elements):
480 def bind_vertex_elements_state(self, state):
481 self._state.vertex_elements = state
483 def delete_vertex_elements_state(self, state):
486 def set_index_buffer(self, ib):
487 self._state.index_buffer = ib
489 def set_patch_vertices(self, patch_vertices):
495 def _merge_indices(self, info):
498 index_size = self._state.index_buffer.index_size
508 if self._state.index_buffer.buffer is None:
512 data = self._state.index_buffer.buffer.data
515 count = min(info.count, self.MAX_ELEMENTS)
518 offset = self._state.index_buffer.offset + i*index_size
527 self._state.indices = indices
531 def _merge_vertices(self, start, count):
534 count = min(count, self.MAX_ELEMENTS)
541 for velem in self._state.vertex_elements:
542 vbuf = self._state.vertex_buffers[velem.vertex_buffer_index]
575 self._state.vertices = vertices
577 def render_condition(self, query, condition = 0, mode = 0):
578 self._state.render_condition_query = query
579 self._state.render_condition_condition = condition
580 self._state.render_condition_mode = mode
582 def set_stream_output_targets(self, num_targets, tgs, offsets):
583 self._state.so_targets = tgs
584 self._state.offsets = offsets
586 def set_sample_mask(self, sample_mask):
587 self._state.sample_mask = sample_mask
589 def set_min_samples(self, min_samples):
592 def draw_vbo(self, info, drawid_offset, indirect, draws, num_draws):
593 self._draw_no += 1
595 if self.interpreter.call_no < self.interpreter.options.call and \
596 self._draw_no < self.interpreter.options.draw:
601 self._state.draw = info
604 min_index, max_index = self._merge_indices(info)
608 self._merge_vertices(min_index, max_index - min_index + 1)
610 self._dump_state()
614 def _normalize_stage_state(self, stage):
618 for mo in self._dclRE.finditer(stage.shader.tokens):
642 def _dump_state(self):
645 state = copy.deepcopy(self._state)
647 self._normalize_stage_state(state.vs)
648 self._normalize_stage_state(state.tcs)
649 self._normalize_stage_state(state.tes)
650 self._normalize_stage_state(state.gs)
651 self._normalize_stage_state(state.fs)
664 def resource_copy_region(self, dst, dst_level, dstx, dsty, dstz, src, src_level, src_box):
678 def is_resource_referenced(self, texture, face, level):
681 def get_transfer(self, texture, sr, usage, box):
687 def tex_transfer_destroy(self, transfer):
688 self.interpreter.unregister_object(transfer)
690 def buffer_subdata(self, resource, usage, data, box=None, offset=None, size=None, level=None, stride=None, layer_stride=None):
706 def texture_subdata(self, resource, level, usage, box, data, stride, layer_stride):
709 def transfer_inline_write(self, resource, level, usage, box, stride, layer_stride, data):
716 def flush(self, flags):
718 return self.interpreter.call_no
720 def clear(self, buffers, color, depth, stencil, scissor_state=None):
723 def clear_render_target(self, dst, rgba, dstx, dsty, width, height, render_condition_enabled):
726 def clear_depth_stencil(self, dst, clear_flags, depth, stencil, dstx, dsty, width, height, render_condition_enabled):
729 def clear_texture(self, res, level, box, **color):
732 def create_surface(self, resource, surf_tmpl):
737 def surface_destroy(self, surface):
738 self.interpreter.unregister_object(surface)
740 def create_query(self, query_type, index):
743 def destroy_query(self, query):
746 def begin_query(self, query):
749 def end_query(self, query):
752 def create_stream_output_target(self, res, buffer_offset, buffer_size):
783 def __init__(self, stream, options, formatter, state):
784 parser.SimpleTraceDumper.__init__(self, stream, options, formatter, state)
785 self.objects = {}
786 self.result = None
787 self.globl = Global(self)
788 self.call_no = None
790 def register_object(self, address, object):
791 self.objects[address] = object
793 def unregister_object(self, object):
797 def lookup_object(self, address):
799 return self.objects[address]
804 def interpret(self, trace):
806 self.interpret_call(call)
808 def handle_call(self, call):
809 if (call.klass, call.method) in self.ignoredCalls:
812 self.call_no = call.no
814 if self.verbosity(1):
818 parser.TraceDumper.handle_call(self, call)
822 args = [(str(name), self.interpret_arg(arg)) for name, arg in call.args]
828 obj = self.globl
837 self.register_object(call.ret.address, ret)
839 self.call_no = None
841 def interpret_arg(self, node):
842 translator = Translator(self)
845 def verbosity(self, level):
846 return self.options.verbosity >= level
851 def __init__(self, args=None):
854 self.verbosity = None
855 self.call = None
856 self.draw = None
858 parser.ParseOptions.__init__(self, args)
863 def get_optparser(self):
876 def make_options(self, args):
879 def process_arg(self, stream, options):