* [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized @ 2016-03-14 12:50 Hans de Goede 2016-03-14 13:01 ` Samuel Pitoiset 0 siblings, 1 reply; 7+ messages in thread From: Hans de Goede @ 2016-03-14 12:50 UTC (permalink / raw) To: mesa-dev; +Cc: nouveau After pipe_grid_info.indirect was introduced, clover was not modified to set it causing it to pass uninitialized memory for it to launch_grid. This commit fixes this by zero-ing the entire pipe_grid_info struct when declaring it, to avoid similar problems popping-up in the future. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- src/gallium/state_trackers/clover/core/kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp b/src/gallium/state_trackers/clover/core/kernel.cpp index 8396be9..dad66aa 100644 --- a/src/gallium/state_trackers/clover/core/kernel.cpp +++ b/src/gallium/state_trackers/clover/core/kernel.cpp @@ -55,7 +55,7 @@ kernel::launch(command_queue &q, const auto reduced_grid_size = map(divides(), grid_size, block_size); void *st = exec.bind(&q, grid_offset); - struct pipe_grid_info info; + struct pipe_grid_info info = { 0, }; // The handles are created during exec_context::bind(), so we need make // sure to call exec_context::bind() before retrieving them. -- 2.7.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized 2016-03-14 12:50 [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized Hans de Goede @ 2016-03-14 13:01 ` Samuel Pitoiset [not found] ` <56E6B629.8080708-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Samuel Pitoiset @ 2016-03-14 13:01 UTC (permalink / raw) To: Hans de Goede, mesa-dev; +Cc: nouveau On 03/14/2016 01:50 PM, Hans de Goede wrote: > After pipe_grid_info.indirect was introduced, clover was not modified > to set it causing it to pass uninitialized memory for it to launch_grid. > > This commit fixes this by zero-ing the entire pipe_grid_info struct when > declaring it, to avoid similar problems popping-up in the future. > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > src/gallium/state_trackers/clover/core/kernel.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp b/src/gallium/state_trackers/clover/core/kernel.cpp > index 8396be9..dad66aa 100644 > --- a/src/gallium/state_trackers/clover/core/kernel.cpp > +++ b/src/gallium/state_trackers/clover/core/kernel.cpp > @@ -55,7 +55,7 @@ kernel::launch(command_queue &q, > const auto reduced_grid_size = > map(divides(), grid_size, block_size); > void *st = exec.bind(&q, grid_offset); > - struct pipe_grid_info info; > + struct pipe_grid_info info = { 0, }; Right, good catch, it's my fault. = { 0 }; is enough btw. This should be backported to mesa 11.2 I guess, could you please send a v2 with this minor fix and add the cc thing? Thanks. > > // The handles are created during exec_context::bind(), so we need make > // sure to call exec_context::bind() before retrieving them. > -- -Samuel _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <56E6B629.8080708-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized [not found] ` <56E6B629.8080708-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2016-03-14 13:26 ` Hans de Goede [not found] ` <56E6BBFC.2020306-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Hans de Goede @ 2016-03-14 13:26 UTC (permalink / raw) To: Samuel Pitoiset, mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Hi, On 14-03-16 14:01, Samuel Pitoiset wrote: > > > On 03/14/2016 01:50 PM, Hans de Goede wrote: >> After pipe_grid_info.indirect was introduced, clover was not modified >> to set it causing it to pass uninitialized memory for it to launch_grid. >> >> This commit fixes this by zero-ing the entire pipe_grid_info struct when >> declaring it, to avoid similar problems popping-up in the future. >> >> Signed-off-by: Hans de Goede <hdegoede@redhat.com> >> --- >> src/gallium/state_trackers/clover/core/kernel.cpp | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp b/src/gallium/state_trackers/clover/core/kernel.cpp >> index 8396be9..dad66aa 100644 >> --- a/src/gallium/state_trackers/clover/core/kernel.cpp >> +++ b/src/gallium/state_trackers/clover/core/kernel.cpp >> @@ -55,7 +55,7 @@ kernel::launch(command_queue &q, >> const auto reduced_grid_size = >> map(divides(), grid_size, block_size); >> void *st = exec.bind(&q, grid_offset); >> - struct pipe_grid_info info; >> + struct pipe_grid_info info = { 0, }; > > Right, good catch, it's my fault. > > = { 0 }; is enough btw. I prefer to add the "," to make clear that we are initializing the entire struct, I read it as ", ...". > This should be backported to mesa 11.2 I guess, could you please send a v2 with this minor fix and add the cc thing? Sure, as soon as we're done bikeshedding on the "," :) Regards, Hans _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <56E6BBFC.2020306-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized [not found] ` <56E6BBFC.2020306-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2016-03-14 13:29 ` Samuel Pitoiset [not found] ` <56E6BCD2.5000002-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Samuel Pitoiset @ 2016-03-14 13:29 UTC (permalink / raw) To: Hans de Goede, mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW On 03/14/2016 02:26 PM, Hans de Goede wrote: > Hi, > > On 14-03-16 14:01, Samuel Pitoiset wrote: >> >> >> On 03/14/2016 01:50 PM, Hans de Goede wrote: >>> After pipe_grid_info.indirect was introduced, clover was not modified >>> to set it causing it to pass uninitialized memory for it to launch_grid. >>> >>> This commit fixes this by zero-ing the entire pipe_grid_info struct when >>> declaring it, to avoid similar problems popping-up in the future. >>> >>> Signed-off-by: Hans de Goede <hdegoede@redhat.com> >>> --- >>> src/gallium/state_trackers/clover/core/kernel.cpp | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp >>> b/src/gallium/state_trackers/clover/core/kernel.cpp >>> index 8396be9..dad66aa 100644 >>> --- a/src/gallium/state_trackers/clover/core/kernel.cpp >>> +++ b/src/gallium/state_trackers/clover/core/kernel.cpp >>> @@ -55,7 +55,7 @@ kernel::launch(command_queue &q, >>> const auto reduced_grid_size = >>> map(divides(), grid_size, block_size); >>> void *st = exec.bind(&q, grid_offset); >>> - struct pipe_grid_info info; >>> + struct pipe_grid_info info = { 0, }; >> >> Right, good catch, it's my fault. >> >> = { 0 }; is enough btw. > > I prefer to add the "," to make clear that we are initializing the > entire struct, > I read it as ", ...". Well, usually we use { 0 } in mesa, try to grep and you will see. :-) There is only 3 occurrences of { 0, }, but I think they are quite old. > >> This should be backported to mesa 11.2 I guess, could you please send >> a v2 with this minor fix and add the cc thing? > > Sure, as soon as we're done bikeshedding on the "," :) > > Regards, > > Hans -- -Samuel _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <56E6BCD2.5000002-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized [not found] ` <56E6BCD2.5000002-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2016-03-14 13:31 ` Samuel Pitoiset [not found] ` <56E6BD32.5000203-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Samuel Pitoiset @ 2016-03-14 13:31 UTC (permalink / raw) To: Hans de Goede, mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW On 03/14/2016 02:29 PM, Samuel Pitoiset wrote: > > > On 03/14/2016 02:26 PM, Hans de Goede wrote: >> Hi, >> >> On 14-03-16 14:01, Samuel Pitoiset wrote: >>> >>> >>> On 03/14/2016 01:50 PM, Hans de Goede wrote: >>>> After pipe_grid_info.indirect was introduced, clover was not modified >>>> to set it causing it to pass uninitialized memory for it to >>>> launch_grid. >>>> >>>> This commit fixes this by zero-ing the entire pipe_grid_info struct >>>> when >>>> declaring it, to avoid similar problems popping-up in the future. >>>> >>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com> >>>> --- >>>> src/gallium/state_trackers/clover/core/kernel.cpp | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp >>>> b/src/gallium/state_trackers/clover/core/kernel.cpp >>>> index 8396be9..dad66aa 100644 >>>> --- a/src/gallium/state_trackers/clover/core/kernel.cpp >>>> +++ b/src/gallium/state_trackers/clover/core/kernel.cpp >>>> @@ -55,7 +55,7 @@ kernel::launch(command_queue &q, >>>> const auto reduced_grid_size = >>>> map(divides(), grid_size, block_size); >>>> void *st = exec.bind(&q, grid_offset); >>>> - struct pipe_grid_info info; >>>> + struct pipe_grid_info info = { 0, }; >>> >>> Right, good catch, it's my fault. >>> >>> = { 0 }; is enough btw. >> >> I prefer to add the "," to make clear that we are initializing the >> entire struct, >> I read it as ", ...". > > Well, usually we use { 0 } in mesa, try to grep and you will see. :-) > There is only 3 occurrences of { 0, }, but I think they are quite old. Of course, I'm not really against this ",", but I just want consistency with the other parts. > >> >>> This should be backported to mesa 11.2 I guess, could you please send >>> a v2 with this minor fix and add the cc thing? >> >> Sure, as soon as we're done bikeshedding on the "," :) >> >> Regards, >> >> Hans > -- -Samuel _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <56E6BD32.5000203-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized [not found] ` <56E6BD32.5000203-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2016-03-14 20:49 ` Francisco Jerez 2016-03-14 20:52 ` [Nouveau] " Samuel Pitoiset 0 siblings, 1 reply; 7+ messages in thread From: Francisco Jerez @ 2016-03-14 20:49 UTC (permalink / raw) To: Samuel Pitoiset, Hans de Goede, mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW [-- Attachment #1.1.1: Type: text/plain, Size: 2952 bytes --] Samuel Pitoiset <samuel.pitoiset-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes: > On 03/14/2016 02:29 PM, Samuel Pitoiset wrote: >> >> >> On 03/14/2016 02:26 PM, Hans de Goede wrote: >>> Hi, >>> >>> On 14-03-16 14:01, Samuel Pitoiset wrote: >>>> >>>> >>>> On 03/14/2016 01:50 PM, Hans de Goede wrote: >>>>> After pipe_grid_info.indirect was introduced, clover was not modified >>>>> to set it causing it to pass uninitialized memory for it to >>>>> launch_grid. >>>>> >>>>> This commit fixes this by zero-ing the entire pipe_grid_info struct >>>>> when >>>>> declaring it, to avoid similar problems popping-up in the future. >>>>> >>>>> Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> >>>>> --- >>>>> src/gallium/state_trackers/clover/core/kernel.cpp | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp >>>>> b/src/gallium/state_trackers/clover/core/kernel.cpp >>>>> index 8396be9..dad66aa 100644 >>>>> --- a/src/gallium/state_trackers/clover/core/kernel.cpp >>>>> +++ b/src/gallium/state_trackers/clover/core/kernel.cpp >>>>> @@ -55,7 +55,7 @@ kernel::launch(command_queue &q, >>>>> const auto reduced_grid_size = >>>>> map(divides(), grid_size, block_size); >>>>> void *st = exec.bind(&q, grid_offset); >>>>> - struct pipe_grid_info info; >>>>> + struct pipe_grid_info info = { 0, }; >>>> >>>> Right, good catch, it's my fault. >>>> >>>> = { 0 }; is enough btw. >>> >>> I prefer to add the "," to make clear that we are initializing the >>> entire struct, >>> I read it as ", ...". >> >> Well, usually we use { 0 } in mesa, try to grep and you will see. :-) >> There is only 3 occurrences of { 0, }, but I think they are quite old. > > Of course, I'm not really against this ",", but I just want consistency > with the other parts. > In C++ '{}' is standard, more concise, and works for a wider range of types regardless of their layout ('{ 0 }' is valid or not depending on what the first member of the struct is, while '{}' works regardless, in C++11 it can even be used to initialize non-POD types with custom constructors), so it should be generally preferred instead. Don't bother to resend just because of my nitpicking, I'll fix it up before I push the last revision of your change, which is: Reviewed-by: Francisco Jerez <currojerez-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org> >> >>> >>>> This should be backported to mesa 11.2 I guess, could you please send >>>> a v2 with this minor fix and add the cc thing? >>> >>> Sure, as soon as we're done bikeshedding on the "," :) >>> >>> Regards, >>> >>> Hans >> > > -- > -Samuel > _______________________________________________ > Nouveau mailing list > Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org > https://lists.freedesktop.org/mailman/listinfo/nouveau [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 212 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Nouveau] [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized 2016-03-14 20:49 ` Francisco Jerez @ 2016-03-14 20:52 ` Samuel Pitoiset 0 siblings, 0 replies; 7+ messages in thread From: Samuel Pitoiset @ 2016-03-14 20:52 UTC (permalink / raw) To: Francisco Jerez, Hans de Goede, mesa-dev; +Cc: nouveau On 03/14/2016 09:49 PM, Francisco Jerez wrote: > Samuel Pitoiset <samuel.pitoiset@gmail.com> writes: > >> On 03/14/2016 02:29 PM, Samuel Pitoiset wrote: >>> >>> >>> On 03/14/2016 02:26 PM, Hans de Goede wrote: >>>> Hi, >>>> >>>> On 14-03-16 14:01, Samuel Pitoiset wrote: >>>>> >>>>> >>>>> On 03/14/2016 01:50 PM, Hans de Goede wrote: >>>>>> After pipe_grid_info.indirect was introduced, clover was not modified >>>>>> to set it causing it to pass uninitialized memory for it to >>>>>> launch_grid. >>>>>> >>>>>> This commit fixes this by zero-ing the entire pipe_grid_info struct >>>>>> when >>>>>> declaring it, to avoid similar problems popping-up in the future. >>>>>> >>>>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com> >>>>>> --- >>>>>> src/gallium/state_trackers/clover/core/kernel.cpp | 2 +- >>>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>>> >>>>>> diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp >>>>>> b/src/gallium/state_trackers/clover/core/kernel.cpp >>>>>> index 8396be9..dad66aa 100644 >>>>>> --- a/src/gallium/state_trackers/clover/core/kernel.cpp >>>>>> +++ b/src/gallium/state_trackers/clover/core/kernel.cpp >>>>>> @@ -55,7 +55,7 @@ kernel::launch(command_queue &q, >>>>>> const auto reduced_grid_size = >>>>>> map(divides(), grid_size, block_size); >>>>>> void *st = exec.bind(&q, grid_offset); >>>>>> - struct pipe_grid_info info; >>>>>> + struct pipe_grid_info info = { 0, }; >>>>> >>>>> Right, good catch, it's my fault. >>>>> >>>>> = { 0 }; is enough btw. >>>> >>>> I prefer to add the "," to make clear that we are initializing the >>>> entire struct, >>>> I read it as ", ...". >>> >>> Well, usually we use { 0 } in mesa, try to grep and you will see. :-) >>> There is only 3 occurrences of { 0, }, but I think they are quite old. >> >> Of course, I'm not really against this ",", but I just want consistency >> with the other parts. >> > > In C++ '{}' is standard, more concise, and works for a wider range of > types regardless of their layout ('{ 0 }' is valid or not depending on > what the first member of the struct is, while '{}' works regardless, in > C++11 it can even be used to initialize non-POD types with custom > constructors), so it should be generally preferred instead. > > Don't bother to resend just because of my nitpicking, I'll fix it up > before I push the last revision of your change, which is: I didn't know that, thanks for this very good explanation. :-) > > Reviewed-by: Francisco Jerez <currojerez@riseup.net> > >>> >>>> >>>>> This should be backported to mesa 11.2 I guess, could you please send >>>>> a v2 with this minor fix and add the cc thing? >>>> >>>> Sure, as soon as we're done bikeshedding on the "," :) >>>> >>>> Regards, >>>> >>>> Hans >>> >> >> -- >> -Samuel >> _______________________________________________ >> Nouveau mailing list >> Nouveau@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/nouveau _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-03-14 20:52 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-14 12:50 [PATCH mesa] clover: Fix pipe_grid_info.indirect not being initialized Hans de Goede
2016-03-14 13:01 ` Samuel Pitoiset
[not found] ` <56E6B629.8080708-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-14 13:26 ` Hans de Goede
[not found] ` <56E6BBFC.2020306-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-14 13:29 ` Samuel Pitoiset
[not found] ` <56E6BCD2.5000002-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-14 13:31 ` Samuel Pitoiset
[not found] ` <56E6BD32.5000203-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-14 20:49 ` Francisco Jerez
2016-03-14 20:52 ` [Nouveau] " Samuel Pitoiset
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.