[Mesa-dev] [PATCH 18/18] trace: add all compute related functions

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Jan 26 07:04:34 PST 2016



On 01/26/2016 12:47 PM, Marek Olšák wrote:
> On Sun, Jan 24, 2016 at 10:18 PM, Samuel Pitoiset
> <samuel.pitoiset at gmail.com> wrote:
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>>
>> I have forgot this one...
>>
>>   src/gallium/drivers/trace/tr_context.c    | 80 +++++++++++++++++++++++++++++++
>>   src/gallium/drivers/trace/tr_dump_state.c | 51 ++++++++++++++++++++
>>   src/gallium/drivers/trace/tr_dump_state.h |  4 ++
>>   src/gallium/drivers/trace/tr_screen.c     | 25 ++++++++++
>>   4 files changed, 160 insertions(+)
>>
>> diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c
>> index 4af4dfe..a508a49 100644
>> --- a/src/gallium/drivers/trace/tr_context.c
>> +++ b/src/gallium/drivers/trace/tr_context.c
>> @@ -560,6 +560,51 @@ TRACE_SHADER_STATE(tes)
>>
>>
>>   static inline void *
>> +trace_context_create_compute_state(struct pipe_context *_pipe,
>> +                                   const struct pipe_compute_state *state)
>> +{
>> +   struct trace_context *tr_ctx = trace_context(_pipe);
>> +   struct pipe_context *pipe = tr_ctx->pipe;
>> +   void * result;
>> +
>> +   trace_dump_call_begin("pipe_context", "create_compute_state");
>> +   trace_dump_arg(ptr, pipe);
>> +   trace_dump_arg(compute_state, state);
>> +   result = pipe->create_compute_state(pipe, state);
>> +   trace_dump_ret(ptr, result);
>> +   trace_dump_call_end();
>> +   return result;
>> +}
>> +
>> +static inline void
>> +trace_context_bind_compute_state(struct pipe_context *_pipe,
>> +                                 void *state)
>> +{
>> +   struct trace_context *tr_ctx = trace_context(_pipe);
>> +   struct pipe_context *pipe = tr_ctx->pipe;
>> +
>> +   trace_dump_call_begin("pipe_context", "bind_compute_state");
>> +   trace_dump_arg(ptr, pipe);
>> +   trace_dump_arg(ptr, state);
>> +   pipe->bind_compute_state(pipe, state);
>> +   trace_dump_call_end();
>> +}
>> +
>> +static inline void
>> +trace_context_delete_compute_state(struct pipe_context *_pipe,
>> +                                   void *state)
>> +{
>> +   struct trace_context *tr_ctx = trace_context(_pipe);
>> +   struct pipe_context *pipe = tr_ctx->pipe;
>> +
>> +   trace_dump_call_begin("pipe_context", "delete_compute_state");
>> +   trace_dump_arg(ptr, pipe);
>> +   trace_dump_arg(ptr, state);
>> +   pipe->delete_compute_state(pipe, state);
>> +   trace_dump_call_end();
>> +}
>> +
>> +static inline void *
>>   trace_context_create_vertex_elements_state(struct pipe_context *_pipe,
>>                                              unsigned num_elements,
>>                                              const struct  pipe_vertex_element *elements)
>> @@ -1599,6 +1644,37 @@ static void trace_context_set_shader_buffers(struct pipe_context *_context,
>>         FREE(_buffers);
>>   }
>>
>> +static void trace_context_launch_grid(struct pipe_context *_pipe,
>> +                                      const struct pipe_grid_info *info)
>> +{
>> +   struct trace_context *tr_ctx = trace_context(_pipe);
>> +   struct pipe_context *pipe = tr_ctx->pipe;
>> +
>> +   trace_dump_call_begin("pipe_context", "launch_grid");
>> +
>> +   trace_dump_arg(ptr,  pipe);
>> +   trace_dump_arg(grid_info, info);
>> +
>> +   trace_dump_trace_flush();
>> +
>> +   if (info->indirect) {
>> +      struct pipe_grid_info *_info = NULL;
>> +
>> +      _info = MALLOC(sizeof(*_info));
>> +      if (!_info)
>> +         return;
>
> There is no reason to use malloc here.

Yes, like the indirect draw thing. I'll remove it.

>
> Marek
>

-- 
-Samuel


More information about the mesa-dev mailing list