[Mesa-dev] [PATCH 7/7] swr/rast: Store cached files in multiple subdirs

2018-12-17 Thread Alok Hota
This improves cache filesystem performance, especially during CI tests Also updated jitcache magic number due to codegen parameter changes Removed 2 `if constexpr` to prevent C++17 requirement --- .../swr/rasterizer/jitter/JitManager.cpp | 51 --- .../swr/rasterizer/jitter/Jit

[Mesa-dev] [PATCH 4/7] swr/rast: Unaligned and translations in gathers

2018-12-17 Thread Alok Hota
- added graphics address translation in odd gathers - added support for unaligned gathers in fetch shader - changed how 2+ GB offsets are handled to make them compatible with unaligned offsets --- .../swr/rasterizer/jitter/fetch_jit.cpp | 56 --- 1 file changed, 35 insertions

[Mesa-dev] [PATCH 6/7] swr/rast: New execution engine per JIT

2018-12-17 Thread Alok Hota
Fixes relocation errors with LLVM 7.0.0 --- .../swr/rasterizer/jitter/JitManager.cpp | 79 +++ .../swr/rasterizer/jitter/JitManager.h| 28 +-- 2 files changed, 65 insertions(+), 42 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp

[Mesa-dev] [PATCH 0/7] swr/rast: jitter updates

2018-12-17 Thread Alok Hota
These patches contain a series of updates to the jitter Alok Hota (7): swr/rast: Use gfxptr_t value in JitGatherVertices swr/rast: Add annotator to interleave isa text swr/rast: partial support for Tiled Resources swr/rast: Unaligned and translations in gathers swr/rast: Scope

[Mesa-dev] [PATCH 5/7] swr/rast: Scope MEM_CLIENT enum for mem usages

2018-12-17 Thread Alok Hota
Avoids confusion with other defaulted integer parameters - fixed some unspecified usages - removed unnecessary includes - removed unecessary protected access specifier in buckets framework --- .../drivers/swr/rasterizer/jitter/builder.h | 1 - .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 2

[Mesa-dev] [PATCH 2/7] swr/rast: Add annotator to interleave isa text

2018-12-17 Thread Alok Hota
To make debugging simpler --- .../swr/rasterizer/jitter/JitManager.cpp | 27 +-- .../swr/rasterizer/jitter/JitManager.h| 12 - 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp b/src/galliu

[Mesa-dev] [PATCH 3/7] swr/rast: partial support for Tiled Resources

2018-12-17 Thread Alok Hota
- updated sample from TRTT surfaces correctly - implemented mapped status return for TRTT surfaces - implemented per-sample instruction minLod clamp - updated bilinear filter weight calculation to be closer to D3D specs - implemented "ReducedTexcoordRange" operation from D3D specs to avoid loss of

[Mesa-dev] [PATCH 1/7] swr/rast: Use gfxptr_t value in JitGatherVertices

2018-12-17 Thread Alok Hota
Use gfxptr_t type value for stream pointer uses in gather and similar calls --- .../swr/rasterizer/jitter/fetch_jit.cpp | 34 +-- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp b/src/gallium/drivers/swr

[Mesa-dev] [PATCH v2 0/1] swr: Fix for LLVM 5 to 6 API change

2018-10-17 Thread Alok Hota
This patch fixes a compile error resulting from a function whose API changed between LLVM versions 5 and 6. I sent this to mesa-dev, but it's primarly a fix for the stable branch as it affects releases with LLVM 5-based codegen. v2: included mesa-stable cc Alok Hota (1): swr/rast: i

[Mesa-dev] [PATCH v2 1/1] swr/rast: ignore CreateElementUnorderedAtomicMemCpy

2018-10-17 Thread Alok Hota
This function's API changed between LLVM 5 and 6. Compile errors occur when building with LLVM 6+ if LLVM 5 was used for a dist tarball CC: --- .../drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers

[Mesa-dev] [PATCH 1/1] swr/rast: ignore CreateElementUnorderedAtomicMemCpy

2018-10-17 Thread Alok Hota
This function's API changed between LLVM 5 and 6. Compile errors occur when building with LLVM 6+ if LLVM 5 was used for a dist tarball --- .../drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/r

[Mesa-dev] [PATCH 0/1] swr: Fix for LLVM 5 to 6 API change

2018-10-17 Thread Alok Hota
This is primarily a fix for the stable branch as it is still packaged with LLVM 5 libs. This fixes a compile error if a user tries to build with LLVM 6+ from an 18.2.x release tarball Alok Hota (1): swr/rast: ignore CreateElementUnorderedAtomicMemCpy .../drivers/swr/rasterizer/codegen

[Mesa-dev] [PATCH] swr/rast: fix intrinsic/function for LLVM 7 compatibility

2018-10-15 Thread Alok Hota
Converted from x86 VFMADDPS intrinsic to generic LLVM intrinsic, and removed createInstructionSimplifierPass, which were both removed in LLVM 7.0.0 These changes combine patches we received from the community and our own internal patches --- .../swr/rasterizer/codegen/gen_llvm_ir_macros.py |

[Mesa-dev] [PATCH 0/1] swr/rast: last swr formatting changes for a while v2

2018-06-28 Thread Alok Hota
Sorry for the churn on these patches. They had to be split in three due to some code change in between a mass formatting change. Anyway this patch contains only formatting changes for the files that were updated in the last patch v2 : I added the clang formatting file we used Alok Hota (1

[Mesa-dev] [PATCH 1/1] swr/rast: Updating code style based on current v clang-format rules v2

2018-06-28 Thread Alok Hota
added clang format file --- .../drivers/swr/rasterizer/_clang-format | 114 +++ .../swr/rasterizer/jitter/JitManager.cpp | 133 ++-- .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 90 + .../swr/rasterizer/jitter/builder_gfx_mem.h | 101 +- .../jitter/f

[Mesa-dev] [PATCH 2/4] swr/rast: Adding SCATTERPS functionality to BuilderGfxMem

2018-06-25 Thread Alok Hota
--- .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 13 + .../drivers/swr/rasterizer/jitter/builder_gfx_mem.h | 6 ++ 2 files changed, 19 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp b/src/gallium/drivers/swr/rasterizer/jitter/bu

[Mesa-dev] [PATCH 4/4] swr/rast: Fix addPassesToEmitFile usage with llvm-7.0.

2018-06-25 Thread Alok Hota
From: Vinson Lee Fix build error after llvm-7.0svn r332881 ("CodeGen: Add a dwo output file argument to addPassesToEmitFile and hook it up to dwo output."). CXX rasterizer/jitter/libmesaswr_la-JitManager.lo rasterizer/jitter/JitManager.cpp:368:93: error: too few arguments to function cal

[Mesa-dev] [PATCH 1/4] swr/rast: Adding Read/Write specifier to TranslateGfxAddress stack

2018-06-25 Thread Alok Hota
- Removing unused generic translate function - Requiring read/write specifier in builder_gfx_mem --- .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 18 - .../swr/rasterizer/jitter/builder_gfx_mem.h | 37 ++- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git

[Mesa-dev] [PATCH 3/4] swr/rast: Handling removed LLVM intrinsics in trunk

2018-06-25 Thread Alok Hota
- Functionality replaced with emulated intrinsics - Fixes Bug 106558 --- .../jitter/functionpasses/lower_x86.cpp | 40 +++ 1 file changed, 40 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp b/src/gallium/drivers/swr/rasteri

[Mesa-dev] [PATCH 0/4] fixes primarily for LLVM trunk support v2

2018-06-25 Thread Alok Hota
LLVM trunk going into version 7.0.0 v2 : accidentally included the wrong commits into the patch. Previous version included the formatting commit that was supposed to come after this patch, and did not include the first commit prior to adding SCATTERPS functionality Alok Hota (3): swr/rast

[Mesa-dev] [PATCH 1/1] swr/rast: Updating code style based on current clang-format rules

2018-06-22 Thread Alok Hota
--- .../swr/rasterizer/jitter/JitManager.cpp | 133 ++-- .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 90 + .../swr/rasterizer/jitter/builder_gfx_mem.h | 101 +- .../jitter/functionpasses/lower_x86.cpp | 189 +- 4 files changed, 260 insertio

[Mesa-dev] [PATCH 0/1] swr/rast: last swr formatting changes for a while

2018-06-22 Thread Alok Hota
Sorry for the churn on these patches. They had to be split in three due to some code changes in between a mass formatting change. Anyway this patch contains only formatting changes for the files that were updated in the last patch Alok Hota (1): swr/rast: Updating code style based on current

[Mesa-dev] [PATCH 1/4] swr/rast: Adding SCATTERPS functionality to BuilderGfxMem

2018-06-19 Thread Alok Hota
--- .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 13 + .../drivers/swr/rasterizer/jitter/builder_gfx_mem.h | 6 ++ 2 files changed, 19 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp b/src/gallium/drivers/swr/rasterizer/jitter/bu

[Mesa-dev] [PATCH 3/4] swr/rast: Fix addPassesToEmitFile usage with llvm-7.0.

2018-06-19 Thread Alok Hota
From: Vinson Lee Fix build error after llvm-7.0svn r332881 ("CodeGen: Add a dwo output file argument to addPassesToEmitFile and hook it up to dwo output."). CXX rasterizer/jitter/libmesaswr_la-JitManager.lo rasterizer/jitter/JitManager.cpp:368:93: error: too few arguments to function cal

[Mesa-dev] [PATCH 2/4] swr/rast: Handling removed LLVM intrinsics in trunk

2018-06-19 Thread Alok Hota
- Functionality replaced with emulated intrinsics - Fixes Bug 106558 --- .../jitter/functionpasses/lower_x86.cpp | 40 +++ 1 file changed, 40 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp b/src/gallium/drivers/swr/rasteri

[Mesa-dev] [PATCH 4/4] swr/rast: Updating code style based on current clang-format rules

2018-06-19 Thread Alok Hota
--- .../swr/rasterizer/jitter/JitManager.cpp | 133 ++-- .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 90 + .../swr/rasterizer/jitter/builder_gfx_mem.h | 101 +- .../jitter/functionpasses/lower_x86.cpp | 189 +- 4 files changed, 260 insertio

[Mesa-dev] [PATCH 0/4] fixes primarily for LLVM trunk support

2018-06-19 Thread Alok Hota
LLVM trunk going into version 7.0.0 Alok Hota (3): swr/rast: Adding SCATTERPS functionality to BuilderGfxMem swr/rast: Handling removed LLVM intrinsics in trunk swr/rast: Updating code style based on current clang-format rules Vinson Lee (1): swr/rast: Fix addPassesToEmitFile usage with

[Mesa-dev] [PATCH 0/1] Code formatting changes in swr driver

2018-06-08 Thread Alok Hota
everyone's email. Alok Hota (1): swr/rast: Clang-Format most rasterizer source code .../swr/rasterizer/archrast/archrast.cpp | 415 +- .../swr/rasterizer/archrast/archrast.h|59 +- .../swr/rasterizer/archrast/eventmanager.h|57 +- .../codegen/temp

[Mesa-dev] [PATCH v2 7/7] swr/rast: Adjusted avx512 primitive assembly for msvc codegen

2018-05-25 Thread Alok Hota
Optimize AVX-512 PA Assemble (PA_STATE_OPT). Reduced generated code by about 4x, MSVC compiler was going crazy making temporaries and split-loading inputs onto the stack unless explicit AVX-512 load ops were added --- src/gallium/drivers/swr/rasterizer/core/pa_avx.cpp | 139 +

[Mesa-dev] [PATCH v2 6/7] swr/rast: Moved memory init out of core swr init

2018-05-25 Thread Alok Hota
Added two new files for a wrapper function for initialization v2: added missing include for single architecture builds --- src/gallium/drivers/swr/Makefile.sources | 4 ++- src/gallium/drivers/swr/meson.build| 2 ++ src/gallium/drivers/swr/rasterizer/core/api.cpp|

[Mesa-dev] [PATCH v2 4/7] swr/rast: Renamed MetaData calls

2018-05-25 Thread Alok Hota
--- .../drivers/swr/rasterizer/jitter/builder.cpp | 170 ++--- .../drivers/swr/rasterizer/jitter/builder.h| 4 +- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp b/src/gallium/drivers/swr/rasteri

[Mesa-dev] [PATCH v2 3/7] swr/rast: Use metadata to communicate between passes

2018-05-25 Thread Alok Hota
--- .../drivers/swr/rasterizer/jitter/builder.h| 28 ++ 1 file changed, 28 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder.h b/src/gallium/drivers/swr/rasterizer/jitter/builder.h index 6ca128d..08a3a6e 100644 --- a/src/gallium/drivers/swr/

[Mesa-dev] [PATCH v2 2/7] swr/rast: Checking gCoreBuckets and CORE_BUCKETS are equal length at compile time

2018-05-25 Thread Alok Hota
--- src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp b/src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp index f289a31..48ea397 100644 --- a/src/gallium/drivers/swr/rasterizer/cor

[Mesa-dev] [PATCH v2 5/7] swr/rast: Removed superfluous JitManager argument from passes

2018-05-25 Thread Alok Hota
--- src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp | 2 +- src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 2 +- .../swr/rasterizer/jitter/functionpasses/lower_x86.cpp | 17 - .../swr/rasterizer/jitter/functionpasses/passes.h | 2 +- .../drivers/swr/ras

[Mesa-dev] [PATCH v2 1/7] swr/rast: Added in-place building to SCATTERPS

2018-05-25 Thread Alok Hota
SCATTERPS previously assumed it was being used with an existing basic block --- .../drivers/swr/rasterizer/jitter/builder_mem.cpp | 29 +++--- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp b/src/gallium/dr

[Mesa-dev] [PATCH v2 0/7] InitMemory inclusion

2018-05-25 Thread Alok Hota
Version 2 makes a small change to swr_loader.cpp to include the new InitMemory header, which fixes a compile error on single-architecture builds. Alok Hota (7): swr/rast: Added in-place building to SCATTERPS swr/rast: Checking gCoreBuckets and CORE_BUCKETS are equal length at compile time

[Mesa-dev] [PATCH 4/7] swr/rast: Renamed MetaData calls

2018-05-23 Thread Alok Hota
--- .../drivers/swr/rasterizer/jitter/builder.cpp | 170 ++--- .../drivers/swr/rasterizer/jitter/builder.h| 4 +- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp b/src/gallium/drivers/swr/rasteri

[Mesa-dev] [PATCH 6/7] swr/rast: Moved memory init out of core swr init

2018-05-23 Thread Alok Hota
Added two new files for a wrapper function for initialization --- src/gallium/drivers/swr/Makefile.sources | 4 ++- src/gallium/drivers/swr/meson.build| 2 ++ src/gallium/drivers/swr/rasterizer/core/api.cpp| 4 --- src/gallium/drivers/swr/rasterizer/core/state.h

[Mesa-dev] [PATCH 1/7] swr/rast: Added in-place building to SCATTERPS

2018-05-23 Thread Alok Hota
SCATTERPS previously assumed it was being used with an existing basic block --- .../drivers/swr/rasterizer/jitter/builder_mem.cpp | 29 +++--- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp b/src/gallium/dr

[Mesa-dev] [PATCH 5/7] swr/rast: Removed superfluous JitManager argument from passes

2018-05-23 Thread Alok Hota
--- src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp | 2 +- src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 2 +- .../swr/rasterizer/jitter/functionpasses/lower_x86.cpp | 17 - .../swr/rasterizer/jitter/functionpasses/passes.h | 2 +- .../drivers/swr/ras

[Mesa-dev] [PATCH 3/7] swr/rast: Use metadata to communicate between passes

2018-05-23 Thread Alok Hota
--- .../drivers/swr/rasterizer/jitter/builder.h| 28 ++ 1 file changed, 28 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder.h b/src/gallium/drivers/swr/rasterizer/jitter/builder.h index 6ca128d..08a3a6e 100644 --- a/src/gallium/drivers/swr/

[Mesa-dev] [PATCH 7/7] swr/rast: Adjusted avx512 primitive assembly for msvc codegen

2018-05-23 Thread Alok Hota
Optimize AVX-512 PA Assemble (PA_STATE_OPT). Reduced generated code by about 4x, MSVC compiler was going crazy making temporaries and split-loading inputs onto the stack unless explicit AVX-512 load ops were added --- src/gallium/drivers/swr/rasterizer/core/pa_avx.cpp | 139 +

[Mesa-dev] [PATCH 2/7] swr/rast: Checking gCoreBuckets and CORE_BUCKETS are equal length at compile time

2018-05-23 Thread Alok Hota
--- src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp b/src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp index f289a31..48ea397 100644 --- a/src/gallium/drivers/swr/rasterizer/cor

[Mesa-dev] [PATCH 3/5] swr/rast: fix VCVTPD2PS generation for AVX512

2018-05-16 Thread Alok Hota
--- .../swr/rasterizer/jitter/functionpasses/lower_x86.cpp | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp b/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp index

[Mesa-dev] [PATCH 4/5] swr/rast: Whitespace and tab-to-spaces changes

2018-05-16 Thread Alok Hota
--- .../drivers/swr/rasterizer/jitter/JitManager.cpp | 1 - .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 27 -- .../swr/rasterizer/jitter/builder_gfx_mem.h| 2 +- .../drivers/swr/rasterizer/jitter/builder_mem.cpp | 1 - .../rasterizer/jitter/functionpasses

[Mesa-dev] [PATCH 5/5] swr/rast: Added FEClipRectangles event

2018-05-16 Thread Alok Hota
and also added some comments --- src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp | 1 + src/gallium/drivers/swr/rasterizer/core/rdtsc_core.h | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp b/src/gallium/drivers/swr/rasterizer

[Mesa-dev] [PATCH 2/5] swr/rast: Rectlist support for GS

2018-05-16 Thread Alok Hota
Add rectlist as an option for GS. Needed to support some driver optimizations. --- src/gallium/drivers/swr/rasterizer/core/clip.cpp | 24 src/gallium/drivers/swr/rasterizer/core/clip.h | 6 ++ .../drivers/swr/rasterizer/core/frontend.cpp | 2 + src/gallium/drivers/swr/raste

[Mesa-dev] [PATCH 1/5] swr/rast: Remove unneeded virtual from methods

2018-05-16 Thread Alok Hota
--- src/gallium/drivers/swr/rasterizer/jitter/JitManager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h index 54a25d8..152776a 100644 --- a/src/gallium/driver