[Mesa-dev] [PATCH 1/2] nv50: add a header file for nv50_query

Tobias Klausmann tobias.johannes.klausmann at mni.thm.de
Mon May 18 06:34:35 PDT 2015



On 18.05.2015 10:43, Samuel Pitoiset wrote:
> Thanks for the review.
>
> Can I get your R-b for the other patches of the series. :-)

Oh silly me, it was meant to be a R-b for patch 1+2 on both series, sorry :)

>
> On 05/17/2015 06:46 PM, Tobias Klausmann wrote:
>> Reviewed-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
>>
>> On 17.05.2015 18:19, Samuel Pitoiset wrote:
>>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>>> ---
>>>   src/gallium/drivers/nouveau/Makefile.sources    |  1 +
>>>   src/gallium/drivers/nouveau/nv50/nv50_context.h | 12 +-------
>>>   src/gallium/drivers/nouveau/nv50/nv50_query.c   | 21 +------------
>>>   src/gallium/drivers/nouveau/nv50/nv50_query.h   | 41 
>>> +++++++++++++++++++++++++
>>>   4 files changed, 44 insertions(+), 31 deletions(-)
>>>   create mode 100644 src/gallium/drivers/nouveau/nv50/nv50_query.h
>>>
>>> diff --git a/src/gallium/drivers/nouveau/Makefile.sources 
>>> b/src/gallium/drivers/nouveau/Makefile.sources
>>> index 3fae3bc..54f174e 100644
>>> --- a/src/gallium/drivers/nouveau/Makefile.sources
>>> +++ b/src/gallium/drivers/nouveau/Makefile.sources
>>> @@ -73,6 +73,7 @@ NV50_C_SOURCES := \
>>>       nv50/nv50_program.h \
>>>       nv50/nv50_push.c \
>>>       nv50/nv50_query.c \
>>> +    nv50/nv50_query.h \
>>>       nv50/nv50_resource.c \
>>>       nv50/nv50_resource.h \
>>>       nv50/nv50_screen.c \
>>> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_context.h 
>>> b/src/gallium/drivers/nouveau/nv50/nv50_context.h
>>> index 1f123ef..3f086d3 100644
>>> --- a/src/gallium/drivers/nouveau/nv50/nv50_context.h
>>> +++ b/src/gallium/drivers/nouveau/nv50/nv50_context.h
>>> @@ -16,6 +16,7 @@
>>>   #include "nv50/nv50_program.h"
>>>   #include "nv50/nv50_resource.h"
>>>   #include "nv50/nv50_transfer.h"
>>> +#include "nv50/nv50_query.h"
>>>     #include "nouveau_context.h"
>>>   #include "nouveau_debug.h"
>>> @@ -195,17 +196,6 @@ void nv50_default_kick_notify(struct 
>>> nouveau_pushbuf *);
>>>   /* nv50_draw.c */
>>>   extern struct draw_stage *nv50_draw_render_stage(struct 
>>> nv50_context *);
>>>   -/* nv50_query.c */
>>> -void nv50_init_query_functions(struct nv50_context *);
>>> -void nv50_query_pushbuf_submit(struct nouveau_pushbuf *,
>>> -                               struct pipe_query *, unsigned 
>>> result_offset);
>>> -void nv84_query_fifo_wait(struct nouveau_pushbuf *, struct 
>>> pipe_query *);
>>> -void nva0_so_target_save_offset(struct pipe_context *,
>>> -                                struct pipe_stream_output_target *,
>>> -                                unsigned index, boolean seralize);
>>> -
>>> -#define NVA0_QUERY_STREAM_OUTPUT_BUFFER_OFFSET (PIPE_QUERY_TYPES + 0)
>>> -
>>>   /* nv50_shader_state.c */
>>>   void nv50_vertprog_validate(struct nv50_context *);
>>>   void nv50_gmtyprog_validate(struct nv50_context *);
>>> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_query.c 
>>> b/src/gallium/drivers/nouveau/nv50/nv50_query.c
>>> index 6690aa2..ebad6c2 100644
>>> --- a/src/gallium/drivers/nouveau/nv50/nv50_query.c
>>> +++ b/src/gallium/drivers/nouveau/nv50/nv50_query.c
>>> @@ -25,6 +25,7 @@
>>>   #define NV50_PUSH_EXPLICIT_SPACE_CHECKING
>>>     #include "nv50/nv50_context.h"
>>> +#include "nv50/nv50_query.h"
>>>   #include "nv_object.xml.h"
>>>     /* XXX: Nested queries, and simultaneous queries on multiple 
>>> gallium contexts
>>> @@ -34,28 +35,8 @@
>>>    * queries anyway.
>>>    */
>>>   -struct nv50_query {
>>> -   uint32_t *data;
>>> -   uint16_t type;
>>> -   uint16_t index;
>>> -   uint32_t sequence;
>>> -   struct nouveau_bo *bo;
>>> -   uint32_t base;
>>> -   uint32_t offset; /* base + i * 32 */
>>> -   boolean ready;
>>> -   boolean flushed;
>>> -   boolean is64bit;
>>> -   struct nouveau_mm_allocation *mm;
>>> -};
>>> -
>>>   #define NV50_QUERY_ALLOC_SPACE 256
>>>   -static INLINE struct nv50_query *
>>> -nv50_query(struct pipe_query *pipe)
>>> -{
>>> -   return (struct nv50_query *)pipe;
>>> -}
>>> -
>>>   static boolean
>>>   nv50_query_allocate(struct nv50_context *nv50, struct nv50_query 
>>> *q, int size)
>>>   {
>>> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_query.h 
>>> b/src/gallium/drivers/nouveau/nv50/nv50_query.h
>>> new file mode 100644
>>> index 0000000..539b4a0
>>> --- /dev/null
>>> +++ b/src/gallium/drivers/nouveau/nv50/nv50_query.h
>>> @@ -0,0 +1,41 @@
>>> +#ifndef __NV50_QUERY_H__
>>> +#define __NV50_QUERY_H__
>>> +
>>> +#include "pipe/p_context.h"
>>> +
>>> +#include "nouveau_context.h"
>>> +#include "nouveau_mm.h"
>>> +
>>> +#define NVA0_QUERY_STREAM_OUTPUT_BUFFER_OFFSET (PIPE_QUERY_TYPES + 0)
>>> +
>>> +struct nv50_context;
>>> +
>>> +struct nv50_query {
>>> +   uint32_t *data;
>>> +   uint16_t type;
>>> +   uint16_t index;
>>> +   uint32_t sequence;
>>> +   struct nouveau_bo *bo;
>>> +   uint32_t base;
>>> +   uint32_t offset; /* base + i * 32 */
>>> +   boolean ready;
>>> +   boolean flushed;
>>> +   boolean is64bit;
>>> +   struct nouveau_mm_allocation *mm;
>>> +};
>>> +
>>> +static INLINE struct nv50_query *
>>> +nv50_query(struct pipe_query *pipe)
>>> +{
>>> +   return (struct nv50_query *)pipe;
>>> +}
>>> +
>>> +void nv50_init_query_functions(struct nv50_context *);
>>> +void nv50_query_pushbuf_submit(struct nouveau_pushbuf *,
>>> +                               struct pipe_query *, unsigned 
>>> result_offset);
>>> +void nv84_query_fifo_wait(struct nouveau_pushbuf *, struct 
>>> pipe_query *);
>>> +void nva0_so_target_save_offset(struct pipe_context *,
>>> +                                struct pipe_stream_output_target *,
>>> +                                unsigned index, boolean seralize);
>>> +
>>> +#endif /* NV50_QUERY_H */
>>
>



More information about the mesa-dev mailing list