Re: [Nouveau] [PATCH] nv50/ir: only enable mul saturate on G200+

2015-05-09 Thread Tobias Klausmann
Reviewed-by: Tobias Klausmann On 09.05.2015 09:31, Ilia Mirkin wrote: Commit 44673512a84 enabled support for saturating fmul. However experimentally this does not seem to work on the older chips. Restrict the feature to G200 (NVA0) and later. Reported-by: Pierre Moreau Bugzilla: https

Re: [Nouveau] Problem with GTX 970 under Fedora 21

2015-01-26 Thread Tobias Klausmann
On 25.01.2015 21:40, super_7b wrote: Hi, I took this issue to the Fedora forum initially, but no-one there has been able to offer any guidance, so I have decided to come to the nouveau community directly. I was running a KDE desktop under Fedora 21 successfully, including the ability to us

Re: [Nouveau] [PATCH] fuse/gm107: simplify the return logic

2015-01-25 Thread Tobias Klausmann
= nvkm_fuse_create(parent, engine, oclass, &priv); *pobject = nv_object(priv); - if (ret) - return ret; - return 0; + return ret; } struct nvkm_oclass Reviewed-by: Tobias Klausmann If it is helping :) ___ Nouveau mailing list Nou

[Nouveau] [PATCH v4] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-24 Thread Tobias Klausmann
Folding for conversions: F32->(U{16/32}, S{16/32}) (U{16/32}, {S16/32})->F32 U32 -> U16 Signed-off-by: Tobias Klausmann --- V2: Split out F64 parts V3: remove handling of saturate for (U/S)32 V4: handle U32->U16 for OP_TXF .../drivers/nouveau/codegen/nv50_ir_peephol

Re: [Nouveau] [PATCH] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-24 Thread Tobias Klausmann
On 11.01.2015 23:53, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 5:48 PM, Tobias Klausmann wrote: On 11.01.2015 23:12, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 5:08 PM, Tobias Klausmann wrote: On 11.01.2015 22:54, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 4:40 PM, Tobias Klausmann

[Nouveau] Re: [RFC] mesa/st: Avoid passing a NULL buffer to the drivers

2015-01-11 Thread Tobias Klausmann
On 12.01.2015 01:57, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 7:43 PM, Tobias Klausmann wrote: On 11.01.2015 06:05, Ilia Mirkin wrote: Can you elaborate a bit as to why that's the right thing to do? On Wed, Jan 7, 2015 at 1:52 PM, Tobias Klausmann wrote: If we capture tran

[Nouveau] Re: [RFC] mesa/st: Avoid passing a NULL buffer to the drivers

2015-01-11 Thread Tobias Klausmann
On 11.01.2015 06:05, Ilia Mirkin wrote: Can you elaborate a bit as to why that's the right thing to do? On Wed, Jan 7, 2015 at 1:52 PM, Tobias Klausmann wrote: If we capture transform feedback from n stream in (n-1) buffers we face a NULL buffer, use the buffer (n-1) to capture the o

Re: [Nouveau] [PATCH] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-11 Thread Tobias Klausmann
On 11.01.2015 23:12, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 5:08 PM, Tobias Klausmann wrote: On 11.01.2015 22:54, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 4:40 PM, Tobias Klausmann wrote: Folding for conversions: F32->(U{16/32}, S{16/32}) and (U{16/32}, {S16/32})->F32 Sign

Re: [Nouveau] [PATCH] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-11 Thread Tobias Klausmann
On 11.01.2015 22:54, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 4:40 PM, Tobias Klausmann wrote: Folding for conversions: F32->(U{16/32}, S{16/32}) and (U{16/32}, {S16/32})->F32 Signed-off-by: Tobias Klausmann --- V2: Split out F64 parts V3: remove handling of saturate for (

[Nouveau] [PATCH] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-11 Thread Tobias Klausmann
Folding for conversions: F32->(U{16/32}, S{16/32}) and (U{16/32}, {S16/32})->F32 Signed-off-by: Tobias Klausmann --- V2: Split out F64 parts V3: remove handling of saturate for (U/S)32, .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 73 ++ 1 file chang

Re: [Nouveau] [PATCH v2] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-11 Thread Tobias Klausmann
On 11.01.2015 20:57, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 2:56 PM, Tobias Klausmann wrote: On 11.01.2015 20:19, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 12:27 PM, Tobias Klausmann wrote: On 11.01.2015 01:58, Ilia Mirkin wrote: On Fri, Jan 9, 2015 at 8:24 PM, Tobias Klausmann

Re: [Nouveau] [PATCH v2] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-11 Thread Tobias Klausmann
On 11.01.2015 20:19, Ilia Mirkin wrote: On Sun, Jan 11, 2015 at 12:27 PM, Tobias Klausmann wrote: On 11.01.2015 01:58, Ilia Mirkin wrote: On Fri, Jan 9, 2015 at 8:24 PM, Tobias Klausmann wrote: Folding for conversions: F32->(U{16/32}, S{16/32}) and (U{16/32}, {S16/32})->F32 Sign

Re: [Nouveau] [PATCH v2] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-11 Thread Tobias Klausmann
On 11.01.2015 01:58, Ilia Mirkin wrote: On Fri, Jan 9, 2015 at 8:24 PM, Tobias Klausmann wrote: Folding for conversions: F32->(U{16/32}, S{16/32}) and (U{16/32}, {S16/32})->F32 Signed-off-by: Tobias Klausmann --- V2: beat me, whip me, split out F64 .../drivers/nouveau/c

[Nouveau] [PATCH v2] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-09 Thread Tobias Klausmann
Folding for conversions: F32->(U{16/32}, S{16/32}) and (U{16/32}, {S16/32})->F32 Signed-off-by: Tobias Klausmann --- V2: beat me, whip me, split out F64 .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 81 ++ 1 file changed, 81 insertions(+) diff --git a/src/g

Re: [Nouveau] [RESEND/PATCH] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-09 Thread Tobias Klausmann
On 10.01.2015 02:41, Ilia Mirkin wrote: On Fri, Jan 9, 2015 at 6:47 PM, Tobias Klausmann wrote: Folding for conversions: F32->(U{16/32}, S{16/32}) and (U{16/32}, {S16/32})->F32 Signed-off-by: Tobias Klausmann --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp

[Nouveau] [RESEND/PATCH] nv50/ir: Handle OP_CVT when folding constant expressions

2015-01-09 Thread Tobias Klausmann
Folding for conversions: F32->(U{16/32}, S{16/32}) and (U{16/32}, {S16/32})->F32 Signed-off-by: Tobias Klausmann --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 109 + 1 file changed, 109 insertions(+) diff --git a/src/gallium/drivers/nouveau/c

[Nouveau] [RFC] mesa/st: Avoid passing a NULL buffer to the drivers

2015-01-07 Thread Tobias Klausmann
If we capture transform feedback from n stream in (n-1) buffers we face a NULL buffer, use the buffer (n-1) to capture the output of stream n. This fixes one piglit test with nvc0: arb_gpu_shader5-xfb-streams-without-invocations Signed-off-by: Tobias Klausmann --- src/mesa/state_tracker

[Nouveau] [PATCH v3] nv50: enable texture compression

2015-01-02 Thread Tobias Klausmann
We enable compression only for some supported formats Suggested-by: Ilia Mirkin Signed-off-by: Tobias Klausmann --- v2: add more formats for compression v3: only enable compression if supported by drm src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 21 ++--- src/gallium

Re: [Nouveau] [PATCH v2] nv50: enable texture compression

2015-01-02 Thread Tobias Klausmann
On 03.01.2015 00:20, Ilia Mirkin wrote: On Fri, Jan 2, 2015 at 6:09 PM, Tobias Klausmann wrote: We enable compression only for some supported formats Suggested-by: Ilia Mirkin Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 23

[Nouveau] [PATCH v2] nv50: enable texture compression

2015-01-02 Thread Tobias Klausmann
We enable compression only for some supported formats Suggested-by: Ilia Mirkin Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 23 +-- src/gallium/drivers/nouveau/nv50/nv50_screen.c | 7 +++ 2 files changed, 28 insertions(+), 2

[Nouveau] [PATCH] nv50: enable texture compression

2015-01-01 Thread Tobias Klausmann
We enable compression only for some supported formats Suggested-by: Ilia Mirkin Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 4 ++-- src/gallium/drivers/nouveau/nv50/nv50_screen.c | 11 +-- 2 files changed, 11 insertions(+), 4 deletions

[Nouveau] [PATCH RESEND] nv50/ir: use unordered_set instead of list to keep track of var defs

2014-12-02 Thread Tobias Klausmann
The set of variable defs does not need to be ordered in any way, and removing/adding elements is a fairly common operation in various optimization passes. This shortens runtime of piglit test fp-long-alu to ~11s from ~22s No piglit regressions observed on nvc0! Signed-off-by: Tobias Klausmann

[Nouveau] [PATCH] nv50: Fix allocation size for querys

2014-10-26 Thread Tobias Klausmann
This was missed by commit: nv50: handle inverted render conditions 1a170980a09d82201b88e3fe20684a0df2cfea80 Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/nv50/nv50_query.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers

[Nouveau] [PATCH v2] nv50: Handle ARB_conditional_render_inverted and enable it

2014-10-21 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- docs/GL3.txt| 2 +- docs/relnotes/10.4.html | 1 + src/gallium/drivers/nouveau/nv50/nv50_context.h | 3 +- src/gallium/drivers/nouveau/nv50/nv50_query.c | 56 + src

[Nouveau] [PATCH] nv50/ir: use unordered_set instead of list to keep track of var defs

2014-09-01 Thread Tobias Klausmann
The set of variable defs does not need to be ordered in any way, and removing/adding elements is a fairly common operation in various optimization passes. This shortens runtime of piglit test fp-long-alu to ~11s from ~22s No piglit regressions observed on nvc0! Signed-off-by: Tobias Klausmann

[Nouveau] [PATCH] nv50/ir: (trivial) initialize pointer to silence warning

2014-07-25 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp index 14b6d68

[Nouveau] [PATCH] nv50/ir: use unordered_set instead of list to keep our instructions in uses

2014-07-07 Thread Tobias Klausmann
This shortens runtime of piglit test fp-long-alu to ~22s No piglit regressions observed on nvc0! Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir.cpp | 6 +++--- src/gallium/drivers/nouveau/codegen/nv50_ir.h| 7 --- src/gallium/drivers

[Nouveau] [PATCH v5] nv50/ir: Handle OP_CVT when folding constant expressions

2014-07-05 Thread Tobias Klausmann
Folding for conversions: F32/64->(U16/32, S16/32) and (U16/32, S16/32)->F32 No piglit regressions observed on nv50 and nvc0! Signed-off-by: Tobias Klausmann --- V2: fix usage of wrong variable V3: enable F64 support V4: - disable F64 support again - handle saturate flag: clamp to min/

[Nouveau] [PATCH v4] nv50/ir: Handle OP_CVT when folding constant expressions

2014-07-05 Thread Tobias Klausmann
Folding for conversions: F32/64->(U16/32, S16/32) and (U16/32, S16/32)->F32 No piglit regressions observed on nv50 and nvc0! Signed-off-by: Tobias Klausmann --- V2: fix usage of wrong variable V3: enable F64 support V4: - disable F64 support again - handle saturate flag: clamp to min/

[Nouveau] [PATCH v3 1/2] nv50/ir: Add support for the double Type to BuildUtil

2014-07-03 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- .../drivers/nouveau/codegen/nv50_ir_build_util.cpp | 17 + .../drivers/nouveau/codegen/nv50_ir_build_util.h| 2 ++ 2 files changed, 19 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp b/src

[Nouveau] [PATCH v3 2/2] nv50/ir: Handle OP_CVT when folding constant expressions

2014-07-03 Thread Tobias Klausmann
Folding for conversions: F32/64->(U16/32, S16/32) and (U16/32, S16/32)->F32 No piglit regressions observed on nv50 and nvc0! Signed-off-by: Tobias Klausmann --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 74 ++ 1 file changed, 74 insertions(+) diff --git

[Nouveau] [PATCH] nv50/ir: Handle OP_CVT when folding constant expressions

2014-07-02 Thread Tobias Klausmann
Folding for conversions: F32/64->(U16/32, S16/32) and (U16/32, S16/32)->F32 No piglit regressions observed! Signed-off-by: Tobias Klausmann --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 74 ++ 1 file changed, 74 insertions(+) diff --git a/src/gallium/d

Re: [Nouveau] nouveau xorg driver - compile error

2014-07-01 Thread Tobias klausmann
Hi Pali, maybe you are missing a package somewhere? Latest git is building fine for me on OBS/opensuse. Greetings, Tobias On 01.07.2014 21:47, Pali Rohár wrote: Hello, nouveau xorg driver from master git repository cannot be compiled on ubuntu precise. Here is build log: https://launchpadl

[Nouveau] [PATCH v3] nv50/ir: make ARB_viewport_array behave like it does with other drivers

2014-06-23 Thread Tobias Klausmann
ter on each emit. This fixes the remaining piglit tests in ARB_viewport_array for nvc0. Note: Not tested on nv50 Signed-off-by: Tobias Klausmann --- V2: provide description fix naming of vars V3: spare a function call, use the idx we already have second arg to mkSymbol changed to 0,

[Nouveau] [PATCH v2] nv50/ir: make ARB_viewport_array behave like it does with other drivers

2014-06-23 Thread Tobias Klausmann
ter on each emit. This fixes the remaining piglit tests in ARB_viewport_array for nvc0. Note: Not tested on nv50 Signed-off-by: Tobias Klausmann --- V2: provide description fix naming of vars .../drivers/nouveau/codegen/nv50_ir_driver.h | 1 + .../drivers/nouveau/code

[Nouveau] [PATCH] nv50/ir: make ARB_viewport_array behave like it does with other drivers

2014-06-23 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- .../drivers/nouveau/codegen/nv50_ir_driver.h | 1 + .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 27 -- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h b

[Nouveau] [PATCH v2 1/3] nvc0: implement multiple viewports/scissors, enable ARB_viewport_array

2014-06-15 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/nvc0/nvc0_context.h| 7 +- src/gallium/drivers/nouveau/nvc0/nvc0_program.c| 2 +- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 20 ++-- src/gallium/drivers/nouveau/nvc0/nvc0_screen.h | 3 + src/gallium

[Nouveau] [PATCH v2 3/3] nv50/ir: Remove NV50_SEMANTIC_VIEWPORTINDEX

2014-06-15 Thread Tobias Klausmann
Use TGSI_SEMANTIC_VIEWPORT_INDEX for the last consumer. Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h| 1 - src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src

[Nouveau] [PATCH v2 2/3] docs: update GL3.txt, relnotes: mark GL_ARB_viewport_array as done for nvc0

2014-06-15 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- docs/GL3.txt| 2 +- docs/relnotes/10.3.html | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/GL3.txt b/docs/GL3.txt index f5f940c..a392b92 100644 --- a/docs/GL3.txt +++ b/docs/GL3.txt @@ -132,7 +132,7 @@ GL 4.1

[Nouveau] [PATCH v2 0/3] ARB_viewport_array for nvc0

2014-06-15 Thread Tobias Klausmann
This patch-series implements the ARB_viewport_array for nvc0 and does a little house-cleanig afterwords. V2: Add Release-Notes, mark this in GL3 as done for nvc0 Don't mark the scissors dirty when we don't need to do that Tobias Klausmann (3): nvc0: implement multiple viewport

[Nouveau] [PATCH 2/3] nvc0: mark scissor in nvc0_clear_{}

2014-06-14 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c index c28ec6d..72227b8 100644 --- a/src/gallium/drivers

[Nouveau] [PATCH 3/3] nv50/ir: Remove NV50_SEMANTIC_VIEWPORTINDEX and its last consumer

2014-06-14 Thread Tobias Klausmann
We use TGSI_SEMANTIC_VIEWPORT_INDEX for nvc0 now as well. Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h| 1 - src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/src/gallium/drivers

[Nouveau] [PATCH 0/3] ARB_viewport_array for nvc0

2014-06-14 Thread Tobias Klausmann
This patch-series implements the ARB_viewport_array for nvc0 and does a little house-cleanig afterwords. Tobias Klausmann (3): nvc0: implement multiple viewports/scissors, enable ARB_viewport_array nvc0: mark scissor in nvc0_clear_{} nv50/ir: Remove NV50_SEMANTIC_VIEWPORTINDEX and its last

[Nouveau] [PATCH 1/3] nvc0: implement multiple viewports/scissors, enable ARB_viewport_array

2014-06-14 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/nvc0/nvc0_context.h| 7 +- src/gallium/drivers/nouveau/nvc0/nvc0_program.c| 2 +- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 20 ++-- src/gallium/drivers/nouveau/nvc0/nvc0_screen.h | 3 + src/gallium

[Nouveau] [PATCH v3 4/4] nvc0/ir: Handle OP_POPCNT when folding constant expressions

2014-06-03 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- V2: Add support for a single-argument version of POPCNT for Maxwell (SM5) V3: Clean up a bit more src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen

[Nouveau] [PATCH v3 3/4] nvc0/ir: Handle OP_BFIND when folding constant expressions

2014-06-03 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- V3: Use BuildUtil for the Immediate instead of a type conversion .../drivers/nouveau/codegen/nv50_ir_peephole.cpp| 17 + 1 file changed, 17 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src

[Nouveau] [PATCH v3 0/4] Constant folding of new Instructions

2014-06-03 Thread Tobias Klausmann
Yet another try for constant folding of Instructions for nvc0. Please Review this again! (Hopefully the last time ;-) ) Tobias Klausmann (4): nvc0/ir: clear subop when folding constant expressions nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions nvc0/ir

[Nouveau] [PATCH v3 1/4] nvc0/ir: clear subop when folding constant expressions

2014-06-03 Thread Tobias Klausmann
Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF might have a subop set. After folding, make sure that it is cleared Signed-off-by: Tobias Klausmann Reviewed-by: Ilia Mirkin --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium

[Nouveau] [PATCH v3 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions

2014-06-03 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- V2: Handle the instruction right (shift after reverse) V3: Reverse once, not independently for every TYPE src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gallium

[Nouveau] [PATCH v2 0/4] Constant folding of new Instructions

2014-06-03 Thread Tobias Klausmann
And another try for constant folding of Instructions for nvc0. Please Review this! Thanks, Tobias Klausmann Tobias Klausmann (4): nvc0/ir: clear subop when folding constant expressions nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions nvc0/ir: Handle

[Nouveau] [PATCH v2 3/4] nvc0/ir: Handle OP_BFIND when folding constant expressions

2014-06-03 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 18 ++ 1 file changed, 18 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index a214ffc

[Nouveau] [PATCH v2 4/4] nvc0/ir: Handle OP_POPCNT when folding constant expressions

2014-06-03 Thread Tobias Klausmann
V2: Add support for a single-argument version of POPCNT for Maxwell (SM5) Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b

[Nouveau] [PATCH v2 1/4] nvc0/ir: clear subop when folding constant expressions

2014-06-03 Thread Tobias Klausmann
Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF might have a subop set. After folding, make sure that it is cleared Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/nouveau/codegen

[Nouveau] [PATCH v2 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions

2014-06-03 Thread Tobias Klausmann
V2: Handle the instruction right (shift after reverse) Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 16 ++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b

Re: [Nouveau] [PATCH 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions

2014-05-29 Thread Tobias Klausmann
ify that you tested how the HW handles this, as well as exactly how you did it (i.e. how did you modify the code + piglit test, what the results were, etc) On Thu, May 29, 2014 at 3:43 PM, Tobias Klausmann wrote: Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/code

[Nouveau] [PATCH 3/4] nvc0/ir: Handle OP_POPCNT when folding constant expressions

2014-05-29 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 10 ++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index 93f7c2a..68b9a6d

[Nouveau] [PATCH 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions

2014-05-29 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp

[Nouveau] [PATCH 4/4] nvc0/ir: Handle OP_BFIND when folding constant expressions

2014-05-29 Thread Tobias Klausmann
Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 14 ++ 1 file changed, 14 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index 68b9a6d

[Nouveau] [PATCH 1/4] nvc0/ir: clear subop when folding constant expressions

2014-05-29 Thread Tobias Klausmann
Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF might have a subop set. After folding, make sure that it is cleared Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/nouveau/codegen

[Nouveau] Add constant folding for new opcodes

2014-05-29 Thread Tobias Klausmann
when folding constant expressions src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 39 +-- 1 file changed, 37 insertions(+), 2 deletions(-) Thanks, Tobias Klausmann ___ Nouveau mailing list Nouveau

[Nouveau] [PATCH V3] nvc0: implement clear_buffer

2014-05-26 Thread Tobias Klausmann
- don't mark the framebuffer dirty for if we don't touch the GPU Signed-off-by: Tobias Klausmann --- src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 151 1 file changed, 151 insertions(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c

[Nouveau] [PATCH V2] nvc0: implement clear_buffer

2014-05-26 Thread Tobias Klausmann
v2: change patch according to Ilia Mirkins review --- src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 151 1 file changed, 151 insertions(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c index 6b7c30c..24

[Nouveau] [PATCH] nvc0: Implement buffer_clear for this type of hardware

2014-05-26 Thread Tobias Klausmann
--- src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 171 1 file changed, 171 insertions(+) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c index 6b7c30c..987b6c4 100644 --- a/src/gallium/drivers/nouveau/nvc

[Nouveau] Implement buffer_clear for nvc0

2014-05-26 Thread Tobias Klausmann
Hi, please review the following patch! Thanks, Tobias Klausmann ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau

Re: [Nouveau] 3.12rc1-pre Nouveau? oops

2013-09-08 Thread Tobias Klausmann
On 09.09.2013 00:29, Dave Airlie wrote: On Mon, Sep 9, 2013 at 8:01 AM, Tobias Klausmann wrote: On 08.09.2013 23:33, Dave Airlie wrote: Looks like you have Optimus (intel + nvidia), and the backtrace has runtime pm in it, which is something new Dave added for 3.12, adding him in explicitly

Re: [Nouveau] 3.12rc1-pre Nouveau? oops

2013-09-08 Thread Tobias Klausmann
On 08.09.2013 23:33, Dave Airlie wrote: Looks like you have Optimus (intel + nvidia), and the backtrace has runtime pm in it, which is something new Dave added for 3.12, adding him in explicitly. The simplest explanation is that disp->init is NULL. And it seems like there are no outputs from the

[Nouveau] [PATCH] Bail in nouveau_display_resume() if there are no output available!

2013-09-08 Thread Tobias Klausmann
--- drivers/gpu/drm/nouveau/nouveau_display.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index d2712e6..a4ba734 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers

Re: [Nouveau] 3.12rc1-pre Nouveau? oops

2013-09-08 Thread Tobias Klausmann
> Looks like you have Optimus (intel + nvidia), and the backtrace has > runtime pm in it, which is something new Dave added for 3.12, adding > him in explicitly. The simplest explanation is that disp->init is > NULL. And it seems like there are no outputs from the earlier nouveau > init prints. I

<    1   2