[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