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

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon May 18 01:43:00 PDT 2015


Thanks for the review.

Can I get your R-b for the other patches of the series. :-)

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