On Fri, Feb 5, 2016 at 2:36 AM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > [+Chia-I Wu] > > I'd appreciate it if you could have a look and see if this looks > reasonable. Not sure if you're still maintaining the driver or not. > The story is that I want to use this query type for GL_ANY_SAMPLES* > queries. The change looks good, thanks.
I do still have interests in the driver, but I recently changed to a full time job and could not find much time between job and family :( > > Cheers, > > -ilia > > On Thu, Feb 4, 2016 at 12:52 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: >> Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> >> --- >> src/gallium/drivers/ilo/ilo_draw.c | 2 ++ >> src/gallium/drivers/ilo/ilo_query.c | 9 ++++++++- >> src/gallium/drivers/ilo/ilo_render.c | 2 ++ >> 3 files changed, 12 insertions(+), 1 deletion(-) >> >> diff --git a/src/gallium/drivers/ilo/ilo_draw.c >> b/src/gallium/drivers/ilo/ilo_draw.c >> index 69f36ae..6831d2c 100644 >> --- a/src/gallium/drivers/ilo/ilo_draw.c >> +++ b/src/gallium/drivers/ilo/ilo_draw.c >> @@ -71,6 +71,7 @@ query_process_bo(const struct ilo_context *ilo, struct >> ilo_query *q) >> >> switch (q->type) { >> case PIPE_QUERY_OCCLUSION_COUNTER: >> + case PIPE_QUERY_OCCLUSION_PREDICATE: >> case PIPE_QUERY_TIME_ELAPSED: >> case PIPE_QUERY_PRIMITIVES_GENERATED: >> case PIPE_QUERY_PRIMITIVES_EMITTED: >> @@ -157,6 +158,7 @@ ilo_init_draw_query(struct ilo_context *ilo, struct >> ilo_query *q) >> >> switch (q->type) { >> case PIPE_QUERY_OCCLUSION_COUNTER: >> + case PIPE_QUERY_OCCLUSION_PREDICATE: >> case PIPE_QUERY_TIME_ELAPSED: >> case PIPE_QUERY_PRIMITIVES_GENERATED: >> case PIPE_QUERY_PRIMITIVES_EMITTED: >> diff --git a/src/gallium/drivers/ilo/ilo_query.c >> b/src/gallium/drivers/ilo/ilo_query.c >> index 27d0812..106bd42 100644 >> --- a/src/gallium/drivers/ilo/ilo_query.c >> +++ b/src/gallium/drivers/ilo/ilo_query.c >> @@ -47,7 +47,7 @@ static const struct { >> #define INFOX(prefix) { NULL, NULL, NULL, NULL, } >> >> [PIPE_QUERY_OCCLUSION_COUNTER] = INFO(draw), >> - [PIPE_QUERY_OCCLUSION_PREDICATE] = INFOX(draw), >> + [PIPE_QUERY_OCCLUSION_PREDICATE] = INFO(draw), >> [PIPE_QUERY_TIMESTAMP] = INFO(draw), >> [PIPE_QUERY_TIMESTAMP_DISJOINT] = INFOX(draw), >> [PIPE_QUERY_TIME_ELAPSED] = INFO(draw), >> @@ -75,6 +75,7 @@ ilo_create_query(struct pipe_context *pipe, unsigned >> query_type, unsigned index) >> >> switch (query_type) { >> case PIPE_QUERY_OCCLUSION_COUNTER: >> + case PIPE_QUERY_OCCLUSION_PREDICATE: >> case PIPE_QUERY_TIMESTAMP: >> case PIPE_QUERY_TIME_ELAPSED: >> case PIPE_QUERY_PRIMITIVES_GENERATED: >> @@ -163,6 +164,12 @@ query_serialize(const struct ilo_query *q, void *buf) >> dst[0] = q->result.u64; >> } >> break; >> + case PIPE_QUERY_OCCLUSION_PREDICATE: >> + { >> + uint64_t *dst = buf; >> + dst[0] = !!q->result.u64; >> + } >> + break; >> case PIPE_QUERY_PIPELINE_STATISTICS: >> { >> const struct pipe_query_data_pipeline_statistics *stats = >> diff --git a/src/gallium/drivers/ilo/ilo_render.c >> b/src/gallium/drivers/ilo/ilo_render.c >> index 8bc04df..9a47ca8 100644 >> --- a/src/gallium/drivers/ilo/ilo_render.c >> +++ b/src/gallium/drivers/ilo/ilo_render.c >> @@ -202,6 +202,7 @@ ilo_render_get_query_len(const struct ilo_render *render, >> >> switch (query_type) { >> case PIPE_QUERY_OCCLUSION_COUNTER: >> + case PIPE_QUERY_OCCLUSION_PREDICATE: >> case PIPE_QUERY_TIMESTAMP: >> case PIPE_QUERY_TIME_ELAPSED: >> /* no reg */ >> @@ -268,6 +269,7 @@ ilo_render_emit_query(struct ilo_render *render, >> >> switch (q->type) { >> case PIPE_QUERY_OCCLUSION_COUNTER: >> + case PIPE_QUERY_OCCLUSION_PREDICATE: >> pipe_control_dw1 = GEN6_PIPE_CONTROL_DEPTH_STALL | >> GEN6_PIPE_CONTROL_WRITE_PS_DEPTH_COUNT; >> break; >> -- >> 2.4.10 >> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev