[Mesa-dev] [PATCH] nouveau: use bool instead of boolean
samuel.pitoiset
samuel.pitoiset at gmail.com
Sat Jul 18 08:02:57 PDT 2015
On 17/07/2015 23:08, Ilia Mirkin wrote:
> On Fri, Jul 17, 2015 at 5:02 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>> On 16/07/15 22:39, Samuel Pitoiset wrote:
>>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>>> ---
>>> src/gallium/drivers/nouveau/codegen/nv50_ir.h | 2 +-
>>> .../drivers/nouveau/codegen/nv50_ir_driver.h | 14 +--
>>> .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 8 +-
>>> .../nouveau/codegen/nv50_ir_lowering_gm107.cpp | 2 +-
>>> .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 4 +-
>>> src/gallium/drivers/nouveau/nouveau_buffer.c | 118 ++++++++++-----------
>>> src/gallium/drivers/nouveau/nouveau_buffer.h | 6 +-
>>> src/gallium/drivers/nouveau/nouveau_context.h | 4 +-
>>> src/gallium/drivers/nouveau/nouveau_fence.c | 36 +++----
>>> src/gallium/drivers/nouveau/nouveau_fence.h | 14 +--
>>> src/gallium/drivers/nouveau/nouveau_screen.c | 6 +-
>>> src/gallium/drivers/nouveau/nouveau_screen.h | 6 +-
>>> src/gallium/drivers/nouveau/nouveau_video.c | 56 +++++-----
>>> src/gallium/drivers/nouveau/nouveau_winsys.h | 4 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_clear.c | 2 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_context.c | 4 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_context.h | 10 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_draw.c | 22 ++--
>>> src/gallium/drivers/nouveau/nv30/nv30_fragprog.c | 6 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_miptree.c | 4 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_push.c | 6 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_query.c | 4 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_resource.c | 4 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_resource.h | 2 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_screen.c | 10 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_state.h | 4 +-
>>> .../drivers/nouveau/nv30/nv30_state_validate.c | 8 +-
>>> src/gallium/drivers/nouveau/nv30/nv30_transfer.c | 54 +++++-----
>>> src/gallium/drivers/nouveau/nv30/nv30_vbo.c | 26 ++---
>>> src/gallium/drivers/nouveau/nv30/nv30_vertprog.c | 12 +--
>>> src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c | 46 ++++----
>>> src/gallium/drivers/nouveau/nv30/nvfx_shader.h | 4 +-
>>> src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c | 50 ++++-----
>>> src/gallium/drivers/nouveau/nv50/nv50_blit.h | 10 +-
>>> src/gallium/drivers/nouveau/nv50/nv50_context.c | 14 +--
>>> src/gallium/drivers/nouveau/nv50/nv50_context.h | 16 +--
>>> src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 26 ++---
>>> src/gallium/drivers/nouveau/nv50/nv50_program.c | 18 ++--
>>> src/gallium/drivers/nouveau/nv50/nv50_program.h | 6 +-
>>> src/gallium/drivers/nouveau/nv50/nv50_push.c | 8 +-
>>> src/gallium/drivers/nouveau/nv50/nv50_query.c | 38 +++----
>>> src/gallium/drivers/nouveau/nv50/nv50_resource.h | 6 +-
>>> src/gallium/drivers/nouveau/nv50/nv50_screen.c | 18 ++--
>>> src/gallium/drivers/nouveau/nv50/nv50_screen.h | 16 +--
>>> .../drivers/nouveau/nv50/nv50_shader_state.c | 18 ++--
>>> src/gallium/drivers/nouveau/nv50/nv50_state.c | 24 ++---
>>> .../drivers/nouveau/nv50/nv50_state_validate.c | 14 +--
>>> src/gallium/drivers/nouveau/nv50/nv50_stateobj.h | 6 +-
>>> src/gallium/drivers/nouveau/nv50/nv50_surface.c | 64 +++++------
>>> src/gallium/drivers/nouveau/nv50/nv50_tex.c | 22 ++--
>>> src/gallium/drivers/nouveau/nv50/nv50_vbo.c | 32 +++---
>>> src/gallium/drivers/nouveau/nvc0/nvc0_compute.c | 24 ++---
>>> src/gallium/drivers/nouveau/nvc0/nvc0_compute.h | 2 +-
>>> src/gallium/drivers/nouveau/nvc0/nvc0_context.c | 12 +--
>>> src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 22 ++--
>>> src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c | 12 +--
>>> src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 18 ++--
>>> src/gallium/drivers/nouveau/nvc0/nvc0_program.h | 6 +-
>>> src/gallium/drivers/nouveau/nvc0/nvc0_query.c | 84 +++++++--------
>>> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 24 ++---
>>> src/gallium/drivers/nouveau/nvc0/nvc0_screen.h | 16 +--
>>> .../drivers/nouveau/nvc0/nvc0_shader_state.c | 12 +--
>>> src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 20 ++--
>>> .../drivers/nouveau/nvc0/nvc0_state_validate.c | 20 ++--
>>> src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h | 8 +-
>>> src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 54 +++++-----
>>> src/gallium/drivers/nouveau/nvc0/nvc0_tex.c | 38 +++----
>>> src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c | 8 +-
>>> src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 32 +++---
>>> .../drivers/nouveau/nvc0/nvc0_vbo_translate.c | 18 ++--
>>> src/gallium/drivers/nouveau/nvc0/nve4_compute.c | 24 ++---
>>> .../winsys/nouveau/drm/nouveau_drm_winsys.c | 2 +-
>>> 72 files changed, 685 insertions(+), 685 deletions(-)
>>>
>> Fwiw I'm like the idea, there is a small concern. There are some
>> differences between boolean (char) and bool when it comes to implicit
>> conversions and the likes (don't quote me on that). Iirc the intel guys
>> did have some lovely experience chasing bugs due to that.
>>
>> Can you give this a quick piglit spin to confirm that it doesn't break
>> things in a strange way.
> In the past we've had bugs due to "dirty" booleans (i.e. not 1/0).
> With bool that is much harder to construct (but possible!), and much
> harder to debug in the cases where it does happen.
>
> However those cases are exclusively when you write to the memory
> backing the bool in some sneaky way (aliasing, memcpy, etc). I'm
> pretty sure we don't do any of this.
>
> FTR, I suggested making this change. But obviously should be run
> through piglit and I'll have a look at it in detail later.
To make sure everything is okay, I'll run a full piglit test.
>
> -ilia
More information about the mesa-dev
mailing list